Sto provando a fare un po 'di lavoro sui dati nei panda Python e ho problemi a scrivere i miei risultati. Ho letto i miei dati come file CSV e ho esportato ogni script come se fosse un file CSV che funziona correttamente. Ultimamente però ho provato esportare tutto in 1 file di Excel con i fogli di lavoro e alcuni dei fogli mi danno un erroreIl codec di Python to_excel 'utf8' non può decodificare il byte
"codec 'utf8' non può decodificare byte 0xE9 in posizione 1: valide byte di continuazione"
Non ho idea di come iniziare a trovare alcun carattere che potrebbe causare problemi nell'esportazione in Excel. Non certo perché si esporta in formato CSV appena soddisfacente, anche se :(
linee rilevanti
from pandas import ExcelWriter
data = pd.read_csv(input)
writer = ExcelWriter(output) #output is just the filename
fundraisers.to_excel(writer, "fundraisers")
locations.to_excel(writer, "locations") #error
locations.to_csv(outputcsv) #works
writer.save()
stampa testa di offendere dataframe
Event ID Constituent ID Email Address First Name \ Last Name
f 1 A A 1
F 4 L R C
M 1 1 A D
F 4 A A G
M 2 0 R G
M 3 O O H
M 2 T E H
M 2 A A H
M 2 M M K
F 3 J E K
Location ID raised raised con raised email
a 0 0 0
a 8 0 0
o 0 0 0
o 0 0 0
o 0 0 0
t 5 0 0
o 1 0 0
o 6 a 0
o 6 0 0
d 0 0 0
guardare il foglio excel io effettivamente ottenere un'impronta parziale fuori Qualsiasi cosa nella colonna nome e oltre sono vuoti, ma tutti gli eventi, costituenti ed e-mail sono tutti stampati
modifica: tentativo di leggere il csv in come utf8 non riesce, ma la lettura in quanto latin1 funziona. C'è un modo per specificare la codifica to_excel? O decodificare e codificare il mio dataframe in utf8?
Puoi pubblicare alcuni dei tuoi caratteri unicode potenzialmente offensivi? Generare caratteri ebraici casuali e poi scriverli funziona bene per me. –
Non ho idea di come trovare il personaggio che trova offensivo. – Wizuriel
Uno dei motivi per cui CSV è diverso è che l'esportazione in Excel non viene eseguita da 'pandas', ma da librerie di terze parti (' xlwt' e/o 'openpyxl'). –