私はcsvファイルに書きたいPython辞書を持っています。次のように 辞書の形式は次のとおりです。Python:文字列中のカンマを無視してcsvに書き込む
{'title': u'A Preface to Democratic Theory.', 'year': u'1957'}
{'title': u'Joseph A. Schumpeter, Capitalism, Socialism, Democracy, New York 1942', 'year': None}
問題は、タイトルに「コンマ」です。キー値にカンマがあるので、csvはそれを別のセルに分割します。だから、私はJoseph A. Schumpeterを第一の細胞に、Capitalismを第二の細胞に、などに持っています。ここ は、CSVファイルを書き込むための私のコードです:
def make_csv(mydict):
with open('mydata.csv', 'a') as f:
writer = csv.DictWriter(f,fieldnames=[""], delimiter=',')
writer.writeheader()
[f.write('{1},'.format(key, normalize(value))) for key, value in mydict.items()]
誰かが助けることはできますか?
なぜライターオブジェクトを無視していますか? ouが 'writer.writerow()'を使うと、カンマで適切に値が引用されます。 –
なぜ 'fieldnames = [" "]'を設定するのですか? –
'writer = csv.DictWriter(f、fieldnames = ['タイトル'、 '年'))'、 'writer.writerow(mydict)'です。毎回ファイルを再オープンしないと参考になります。 * once *ファイルを開き、 'DictWriter'を一度作成してから' dict'行を書き出してください。 –