Ich bin neu bei Python. Ich lese Daten von SQL Server und schreibe dann die Daten in eine CSV-Datei. Die Tabellenzeile enthält Werte für Zahl, Zeichenfolge und Datum/Uhrzeit. Ich habe verschiedene Möglichkeiten ausprobiert, um die Daten zu schreiben. Zum BeispielUnicodeEncodeError: 'Charmap' Codec kann das Zeichen ' u5347' in Position 68 nicht codieren: Zeichen mappt auf <undefined>
#method 1
import pandas as pd
df = pd.DataFrame(table, columns=["colummn"])
df.to_csv('list.csv', index=False)*
#method 2
import csv
fl = open('OnlineplayDatabase.csv', 'w')
writer = csv.writer(fl)
for row in table:
writer.writerow(row)
fl.close()
Beide Methoden funktionieren normalerweise. Aber wenn einige Zeilen chinesische Zeichen enthalten (siehe Beispiel unten), habe ich einen Kodierungsfehler erhalten. Die Fehlermeldung lautet:
codecs.charmap_encode(input,self.errors,encoding_table)[0]
#Error Code
UnicodeEncodeError: 'charmap' codec can't encode character '\u5347' in position 68: character maps to <undefined>
Ich habe versucht, die Felder in der Zeile utf-8 zu codieren. Aber einige der Felder sind Zahlen.
Ihre Hilfe wird sehr geschätzt!
('120.239.9.116 ',
'gyandroid ',
4,
9,
'Dalvik/1.6.0(Linux;U;Android4.4.2;升级版Build/KVT49L) datetime.datetime(2016, 6, 11, 20, 54, 19),
datetime.datetime(2016, 6, 11, 20, 56, 53),
11521.0)