0

我有一个这样的 .csv 文件:

  Name                    |    Twitter handle
  3 Degrees Incorporation |    3Degrees_Inc

第一行是列名,第二行是两列中每一列的内容。

如果我想提取列在“Twitter 句柄”列下的数据,那么正确的 python 代码是什么?

谢谢

4

1 回答 1

5
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())
于 2013-10-22T01:16:44.710 回答