我要求Python打印CSV数据列中的最小数字,但顶行是列号,我不希望Python将顶行考虑在内。如何确保Python忽略第一行?
这是目前为止的代码:
import csv
with open('all16.csv', 'rb') as inf:
incsv = csv.reader(inf)
column = 1
datatype = float
data = (datatype(column) for row in incsv)
least_value = min(data)
print least_value
你能不能也解释一下你在做什么,而不仅仅是给出代码?我是Python的新手,我想确保我理解所有的东西。
发布于 2012-07-06 02:15:26
要跳过第一行,只需调用:
next(inf)
Python中的文件是行上的迭代器。
发布于 2018-03-31 19:02:29
从python cookbook借来的
更简洁的模板代码可能如下所示:
import csv
with open('stocks.csv') as f:
f_csv = csv.reader(f)
headers = next(f_csv)
for row in f_csv:
# Process row ...
发布于 2014-12-19 07:16:50
在类似的用例中,我必须在带有实际列名的行之前跳过恼人的行。这个解决方案运行得很好。首先读取文件,然后将列表传递给csv.DictReader
。
with open('all16.csv') as tmp:
# Skip first line (if any)
next(tmp, None)
# {line_num: row}
data = dict(enumerate(csv.DictReader(tmp)))
https://stackoverflow.com/questions/11349333
复制相似问题