2012-07-07 8 views
6

ich eine Liste in eine CSV zu schreiben versucht bin, aber wenn ich tun, damit ich Wrapper Anführungszeichen um meine Feldwerte:CSV Feldwert Wrap entfernen zitiert

number1,number2 
"1234,2345" 
"1235.7890" 
"2345.5687" 

diesen Code verwenden:

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) 

nach weiteren Recherchen fand ich, dass Sie das Schreiben von Zitaten durch die Verwendung entfernen:

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

Als ich das meinen Code bewerbe ich mich t erhalten seine Fehler:

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) 

Wie entferne ich diese Zitate?

bearbeiten

myList wie folgt aussieht:

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

Mit welchem ​​Programm lesen Sie die eigentliche CSV-Datei? Werden die Zitate in einem Texteditor angezeigt? – Blender

+0

@ Blender, ich benutze arcmap, die Werte werden nur unter dem Feld Nummer1. – artwork21

+0

Sie erhalten Anführungszeichen (oder ein Grummeln über keinen EscapeChar), weil Sie etwas in 'myList' haben, das zitiert oder entgangen werden muss. Zeigen Sie uns die ersten 3 Zeilen in 'myList', die Sie mit' print myList [: 3] 'erhalten haben und kopieren Sie die Ausgabe in eine Bearbeitung Ihrer Frage. –

Antwort

7

was in Ihrer Liste ist nicht Zahlen, sondern Text, der das Trennzeichen selbst ist enthalten. das bedeutet, dass es als csv exportiert werden muss.

Sie müssen Ihre Daten in Zahlen konvertieren, bevor Sie es in CSV exportieren, wenn Sie möchten, dass es korrekt geschrieben wird.

edit: auf der anderen seite sieht es schon so aus, als ob es aus komma-separierten werten besteht - warum nicht direkt in eine datei schreiben ohne einen csv writer zu benutzen?