2012-07-07 12 views
6

を引用し、私はcsvファイルにリストを書き込もうとしています削除し、しかし私は私のフィールド値の周りにラッパー引用符を取得:CSVフィールド値ラップは

このコードを使用して
number1,number2 
"1234,2345" 
"1235.7890" 
"2345.5687" 

with open('C:\\temp\\test.csv', 'wb') as out_file: 
...  csv_writer = csv.writer(out_file, delimiter=',') 
...  csv_writer.writerow(('number1','number2')) 
...  for f in myList: 
...   csv_writer.writerow(f) 

、さらなる研究の後、私はあなたが使用して引用符の書き込みを削除することが分かっ:

quotechar='', quoting=csv.QUOTE_NONE**

私は私のコードにこれを適用すると、私はトンを取得彼のエラー:

Traceback (most recent call last): File "", line 4, in Error: need to escape, but no escapechar set

with open('C:\\temp\\test.csv', 'wb') as out_file: 
...  csv_writer = csv.writer(out_file, delimiter=',',quotechar='', quoting=csv.QUOTE_NONE) 
     csv_writer.writerow(('number1','number2')) 
...  for f in myList: 
...   csv_writer.writerow(f) 

どのように私はこれらの引用符を削除しますか?

編集

はmyListは次のようになります。あなたのリストに何があるか

 [['1234,2345'], ['1235,7890'], ['2345,5687']] 
+0

実際のCSVファイルを読むためにどのようなプログラムを使用しますか?引用符はテキストエディタで表示されますか? – Blender

+0

@Blender、私はarcmapを使用していますが、値はnumber1フィールドの下のみになります。 – artwork21

+0

引用やエスケープが必要な 'myList'の中に何かがあるので、引用符をつけています(あるいはエスケープ文字が何もない)。 print myList [:3]で得られた 'myList'の最初の3行を表示し、出力をコピーしてあなたの質問の編集に貼り付けます。 –

答えて

7

も、区切り文字を含むされる数字が、テキスト、ではありません。これはcsvとしてエクスポートすることを意味し、エスケープする必要があります。

正しく書きたい場合は、データをcsvにエクスポートする前にデータを数値に変換する必要があります。

編集:あなたのデータはすでにコンマ区切りの値であるように見えますが、csvライターを使わずにファイルに直接書き込むのはなぜですか?

関連する問題