<blockquote>
<p>Edit: Just realized you're using pandas - should have looked at that.
I'll leave this here for now in case it's applicable but if it gets
downvoted I'll take it down by virtue of peer pressure :)</p>
<p>I'll try and update it to use pandas later tonight</p>
</blockquote>
<p>似乎<code>itertools.groupby()</code>是这项工作的工具</p>
<p>像这样?在</p>
<pre><code>import csv
import itertools
class CsvImport():
def Run(self, filename):
# Get the formatted rows from CSV file
rows = self.readCsv(filename)
for key in rows.keys():
print "\nKey: " + key
i = 1
for value in rows[key]:
print "\nValue {index} : {value}".format(index = i, value = value)
i += 1
def readCsv(self, fileName):
with open(fileName, 'rU') as csvfile:
reader = csv.DictReader(csvfile)
# Keys may or may not be pulled in with extra space by DictReader()
# The next line simply creates a small dict of stripped keys to original padded keys
keys = { key.strip(): key for (key) in reader.fieldnames }
# Format each row into the final string
groupedRows = {}
for k, g in itertools.groupby(reader, lambda x : x["Contest_Date_EST"]):
groupedRows[k] = [self.normalizeRow(v.values()) for v in g]
return groupedRows;
def normalizeRow(self, row):
row[1] = float(row[1].replace(',','')) # "Prize_Pool"
# and so on
return row
if __name__ == "__main__":
CsvImport().Run("./Test1.csv")
</code></pre>
<p>输出:
<img src="https://i.stack.imgur.com/wR1OA.png" alt="enter image description here"/></p>
<p>更多信息:</p>
<p><a href="https://docs.python.org/2/library/itertools.html" rel="nofollow noreferrer">https://docs.python.org/2/library/itertools.html</a></p>
<p>希望这有帮助:)</p>