2

Pythonを使用してcsvファイルのすべての要素に引用符とタブを追加するにはどうすればよいですか?

たとえば、次の csv サンプルを作成します。

TitleA,TitleB,TitleC,TitleD,TitleE,....
Data1,Data2,<null>,Data4,<null>,....
DataX,<null>,<null>,DataY,<null>,....

こんな風に見える:

"TitleA"    "TitleB"    "TitleC"    "TitleD"    "TitleE"   ....
"Data1"    "Data2"    "<null>"    "Data4"    "<null>"    ....
"DataX"    "<null>"    "<null>"    "DataY"    "<null>"    ....

私は基本的にcsvファイルを、すべての要素が一重引用符で囲まれたタブ区切りのファイルに変換しています...

これを行う簡単な方法はありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

11

あなたがしているのは、ある CSV 方言から別の CSV 方言に変換することですよね?

そのため、2 つの CSV ダイアレクトを定義し、一方にリーダーを作成し、もう一方にライターを作成することで、これを行います。

幸いなことに、これらの方言は両方とも十分に単純なので (入力はデフォルトでもあります)、特別なことをする必要はありません。

with open('in.csv', 'r') as infile, open('out.csv', 'w') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile, delimiter='\t', quoting=csv.QUOTE_ALL)
    writer.writerows(reader)

非常に古いバージョンの Python では、最後の行を次の 2 行に置き換える必要がある場合があります。

    for line in reader:
        writer.writerow(line)

詳細については、方言とフォーマット パラメータを参照してください。

于 2012-12-17T23:57:06.300 に答える