python csv writerを使用してcsvファイルを書き込もうとしています。
列の値の1つが "" [二重引用符]で囲まれている。 : 'col1' 'col2' "test"、ワードパッドでファイルを開くと、Wordテストは "test"と予想されますが、実際の結果は "" "test" ""です。
誰かがこの問題を案内できますか?.
私の試用のサンプルスニペット:
csvReader = csv.reader(iInputFile)
writer = csv.writer(open('one_1.csv', 'wb'), delimiter=',', lineterminator='\r\n')
for row in csvReader:
rawRow = []
rawRow.append('31-7-2014') #Appending Date
rawRow.append(row[0]) #Appending data
rawRow.append('\"'+'test'+'\"')
writer.writerow(rawRow)
これで試して
f_writ = open('one_4.csv', 'wb')
csvReader = csv.reader(iInputFile)
writer = csv.writer(f_writ, delimiter=',',
lineterminator='\r\n',
quotechar = "'"
)
for row in csvReader:
writer.writerow(['31-7-2014',row[0],'\"text\"'])
f_writ.close()
また、私はこのリンクが非常に役立つと思います http://pymotw.com/2/csv/ 、たくさんの見本があります
おそらく、パラメーターの引用とescapecharで遊ぶ必要があります。
たとえば、変更されたコード
csvReader = csv.reader(iInputFile)
writer = csv.writer(open('one_1.csv', 'wb'), delimiter=',', lineterminator='\r\n', quoting=csv.QUOTE_NONE, escapechar='\\')
for row in csvReader:
rawRow = []
rawRow.append('31-7-2014') #Appending Date
rawRow.append(row[0]) #Appending data
rawRow.append('\"'+'test'+'\"')
writer.writerow(rawRow)
そのような出力を生成します:
31-7-2014,'col1',\"test\"