Skrive en pandas DataFrame til en CSV-fil
Jeg har en dataramme i pandas som jeg ønsker å skrive til en CSV-fil. Jeg gjør dette ved hjelp av:
df.to_csv('out.csv')
og får en feilmelding:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)
Er det mulig å omgå dette på en enkel måte (dvs. jeg har unicode-tegn i datarammen)? Og finnes det en måte å skrive til en tabulatoravgrenset fil i stedet for en CSV-fil ved hjelp av f.eks. en 'to-tab' metode (som jeg ikke tror finnes)?
604
3
For å avgrense med en tabulator kan du bruke argumentet
sep
ito_csv
:Hvis du vil bruke en bestemt koding (f.eks. 'utf-8'), bruker du argumentet
encoding
:Noe annet du kan prøve hvis du har problemer med å kode til 'utf-8' og ønsker å gå celle for celle, kan du prøve følgende.
**Python 2
(Hvor "df" er DataFrame-objektet ditt.)
Prøv deretter:
Du kan sjekke kodingen av kolonnene ved hjelp av:
Advarsel: errors='ignore' vil bare utelate tegnet, f.eks.
**Python 3
Noen ganger får du disse problemene hvis du også angir UTF-8-koding. Jeg anbefaler deg å spesifisere koding mens du leser filen og samme koding mens du skriver til filen. Dette kan løse problemet.