pandas
Bewaar panda's dataframe in een csv-bestand
Zoeken…
parameters
Parameter | Beschrijving |
---|---|
path_or_buf | tekenreeks of bestandsingang, standaard Geen Bestandspad of object, als Geen is opgegeven, wordt het resultaat als een tekenreeks geretourneerd. |
september | character, default ',' Veldscheidingsteken voor het uitvoerbestand. |
na_rep | string, standaard '' Ontbrekende gegevensweergave |
float_format | tekenreeks, standaard Geen Tekenreeks voor drijvende-kommagetallen opmaken |
kolommen | volgorde, optionele kolommen om te schrijven |
hoofd | boolean of stringlijst, standaard True Schrijf kolomnamen uit. Als een lijst met tekenreeksen wordt gegeven, wordt aangenomen dat dit aliassen zijn voor de kolomnamen |
inhoudsopgave | boolean, standaard True Write-rijnamen (index) |
index_label | tekenreeks of reeks, of False, standaard Geen Kolomlabel voor indexkolom (men) indien gewenst. Als Geen wordt gegeven en koptekst en index Waar zijn, worden de indexnamen gebruikt. Een volgorde moet worden gegeven als het DataFrame MultiIndex gebruikt. Als False geen velden voor indexnamen afdrukken. Gebruik index_label = False voor eenvoudiger importeren in R |
nanRep | Geen verouderd, gebruik na_rep |
mode | str Python-schrijfmodus, standaard 'w' |
codering | tekenreeks, optioneel Een tekenreeks die de codering vertegenwoordigt die in het uitvoerbestand moet worden gebruikt, is standaard 'ascii' op Python 2 en 'utf-8' op Python 3. |
samendrukking | tekenreeks, optioneel een tekenreeks die de compressie vertegenwoordigt die in het uitvoerbestand moet worden gebruikt, toegestane waarden zijn 'gzip', 'bz2', 'xz', alleen gebruikt wanneer het eerste argument een bestandsnaam is |
line_terminator | string, standaard 'n' Het newline-teken of de tekenreeks die in het uitvoerbestand moet worden gebruikt |
citeren | optionele constante van standaard csv-module naar csv.QUOTE_MINIMAL |
quotechar | tekenreeks (lengte 1), standaard '' 'teken dat wordt gebruikt om velden te citeren |
dubbele aanhalingstekens | boolean, standaard True Control-citaat van quotechar in een veld |
escapechar | tekenreeks (lengte 1), standaard Geen teken dat wordt gebruikt om te ontsnappen aan sep en quotechar indien van toepassing |
formaat van een blokje | int of Geen rijen om tegelijkertijd te schrijven |
tupleize_cols | boolean, standaard False schrijf multi_index-kolommen als een lijst met tupels (indien True) of nieuw (uitgebreid formaat) als False) |
datumnotatie | string, standaard Geen String voor datetime-objecten opmaken |
decimale | tekenreeks, standaard '.' Teken herkend als decimaal scheidingsteken. Gebruik bijvoorbeeld ',' voor Europese gegevens |
Maak een willekeurig DataFrame en schrijf naar .csv
Maak een eenvoudig DataFrame.
import numpy as np
import pandas as pd
# Set the seed so that the numbers can be reproduced.
np.random.seed(0)
df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
# Another way to set column names is "columns=['column_1_name','column_2_name','column_3_name']"
df
A B C
0 1.764052 0.400157 0.978738
1 2.240893 1.867558 -0.977278
2 0.950088 -0.151357 -0.103219
3 0.410599 0.144044 1.454274
4 0.761038 0.121675 0.443863
Schrijf nu naar een CSV-bestand:
df.to_csv('example.csv', index=False)
Inhoud van example.csv:
A,B,C
1.76405234597,0.400157208367,0.978737984106
2.2408931992,1.86755799015,-0.977277879876
0.950088417526,-0.151357208298,-0.103218851794
0.410598501938,0.144043571161,1.45427350696
0.761037725147,0.121675016493,0.443863232745
Merk op dat we index=False
specificeren, zodat de automatisch gegenereerde indices (rij #s 0,1,2,3,4) niet worden opgenomen in het CSV-bestand. Neem het op als u de indexkolom nodig hebt, zoals:
df.to_csv('example.csv', index=True) # Or just leave off the index param; default is True
Inhoud van example.csv:
,A,B,C
0,1.76405234597,0.400157208367,0.978737984106
1,2.2408931992,1.86755799015,-0.977277879876
2,0.950088417526,-0.151357208298,-0.103218851794
3,0.410598501938,0.144043571161,1.45427350696
4,0.761037725147,0.121675016493,0.443863232745
Merk ook op dat je de header kunt verwijderen als deze niet nodig is met header=False
. Dit is de eenvoudigste output:
df.to_csv('example.csv', index=False, header=False)
Inhoud van example.csv:
1.76405234597,0.400157208367,0.978737984106
2.2408931992,1.86755799015,-0.977277879876
0.950088417526,-0.151357208298,-0.103218851794
0.410598501938,0.144043571161,1.45427350696
0.761037725147,0.121675016493,0.443863232745
Het scheidingsteken kan worden ingesteld met sep=
argument, hoewel het standaardscheidingsteken voor csv-bestanden ','
.
df.to_csv('example.csv', index=False, header=False, sep='\t')
1.76405234597 0.400157208367 0.978737984106
2.2408931992 1.86755799015 -0.977277879876
0.950088417526 -0.151357208298 -0.103218851794
0.410598501938 0.144043571161 1.45427350696
0.761037725147 0.121675016493 0.443863232745
Bewaar Pandas DataFrame van lijst naar dictaten naar csv zonder index en met gegevenscodering
import pandas as pd
data = [
{'name': 'Daniel', 'country': 'Uganda'},
{'name': 'Yao', 'country': 'China'},
{'name': 'James', 'country': 'Colombia'},
]
df = pd.DataFrame(data)
filename = 'people.csv'
df.to_csv(filename, index=False, encoding='utf-8')
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow