1. errors=
ist manchmal nützlich
Wenn eine Datei eine bestimmte Kodierung haben muss, der vorhandene Datenrahmen aber Zeichen enthält, die nicht dargestellt werden können, errors=
kann verwendet werden, um " Kosten des Informationsverlustes . Alle möglichen Werte, die als Parameter übergeben werden können errors=
Argument an die open()
Funktion in Python kann hier übergeben werden.
Der folgende Code speichert zum Beispiel eine csv-Datei mit Ascii-Kodierung, bei der die japanischen Zeichen durch ein ?
.
df = pd.DataFrame({'A': ['Shohei Ohtani ']})
df.to_csv('data1.csv', encoding='ascii', errors='replace', index=False)
print(pd.read_csv('data1.csv'))
A
0 Shohei Ohtani ???????????
2. float_format=
ist manchmal nützlich
Sie können Float-D-Typen formatieren mit float_format=
und das spart manchmal eine Menge Speicherplatz bei die Kosten für den Verlust von Präzision . Zum Beispiel,
df = pd.DataFrame({'A': [*range(1,9,3)]*1000})/3
df.to_csv('data1.csv', index=False) # 61,440 bytes on disk
df.to_csv('data2.csv', index=False, float_format='%.2f') # 20,480 bytes on disk
3. Speichern Sie eine komprimierte csv-Datei
Seit Pandas 1.0.0 können Sie der Komprimierung ein Diktat übergeben, das die Komprimierungsmethode und den Dateinamen innerhalb des Archivs angibt. Der folgende Code erstellt eine Zip-Datei mit dem Namen compressed_data.zip
die eine einzige Datei mit dem Namen data.csv
.
df.to_csv('compressed_data.zip', index=False, compression={'method': 'zip', 'archive_name': 'data.csv'})
# read the archived file as a csv
pd.read_csv('compressed_data.zip')
Sie können sogar ein bestehendes Archiv ergänzen; übergeben Sie einfach mode='a'
.
df.to_csv('compressed_data.zip', compression={'method': 'zip', 'archive_name': 'data_new.csv'}, mode='a')