0

次のような .csv ファイルがあります。

  Name                    |    Twitter handle
  3 Degrees Incorporation |    3Degrees_Inc

最初の行は列名で、2 番目の行は 2 つの列のそれぞれの内容です。

「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 に答える