ich Pandas Datenrahmen habe ich über read_csv geladen, die ich auf eine Datenbank über to_sql drücken versuche, wenn ich versuche,Pandas to_sql Fehler Unicode dekodieren gibt
df.to_sql("assessmentinfo_pivot", util.ENGINE)
ich wieder ein unicodeDecodeError:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 83-84: ordinal not in range(128)
Es gibt keine Codierungsoption für to_sql utf-8 für die to_sql und der Motor angeben wurde mit Codierung erstellt auf utf-8
ENGINE = create_engine("mssql+pymssql://" +
config.get_local('CEDS_USERNAME') + ':' +
config.get_local('CEDS_PASSWORD') + '@' +
config.get_local('CEDS_SERVER') + '/' +
config.get_local('CEDS_DATABASE'),
encoding="utf-8")
Irgendwelche Pandas Einblick in das Funktionieren dieser richtig? Die meisten meiner Suchanfragen führen mich zu Leuten, die einen ähnlichen Fehler für to_csv haben, der gerade durch das Hinzufügen von encoding = "utf-8" gelöst wird, aber das ist hier leider keine Option.
Ich habe versucht, die Datei nach unten Schnipsel aber es gibt immer noch Fehler, auch wenn nur die Header abgespeckte: http://pastebin.com/F362xGyP
Können Sie ein reproduzierbares Beispiel liefern? (Einige Beispieldaten und der Code, der den Fehler reproduziert) – joris
Der Fehler tritt nur mit den Headern auf, die ich oben in einen Pastebin gelegt habe. Die Spalten haben einige lange Namen aufgrund einiger Pivots, die an die Quelltabelle gesendet werden. – lathomas64
Es gibt einige Sonderzeichen aus einigen spanischen Datenquellennamen, die hier enden, wenn versucht wird, eine Pivot-Tabelle zu erstellen. Ich würde gerne in der Lage sein, dies in der to_sql Aufruf im Gegensatz zu den Zeichen aus den Headern zu entziehen. – lathomas64