我有一个这样的 .csv 文件:
Name | Twitter handle
3 Degrees Incorporation | 3Degrees_Inc
第一行是列名,第二行是两列中每一列的内容。
如果我想提取列在“Twitter 句柄”列下的数据,那么正确的 python 代码是什么?
谢谢
with open(csvfile) as f:
for row in csv.DictReader(f, delimiter='|', skipinitialspace=True):
do_something_with(row['Twitter handle']
有关更多信息,请参阅文档……但仅此而已。
但实际上,这不是一个正确的 CSV,而且您很幸运,您要求的是最后一列,因为所有其他列都有终端空白和初始空白,并且没有办法跳过它。所以,如果你想处理任何其他列,你需要这样的东西:
with open(csvfile) as f:
headers = next(csv.reader(f, delimiter='|', skipinitialspace=True))
headers = [header.strip() for header in headers]
for row in csv.DictReader(f, fieldnames=headers,
delimiter='|', skipinitialspace=True):
do_something_with(row[colname].strip())