pandas
Enregistrer les données pandas dans un fichier csv
Recherche…
Paramètres
Paramètre | La description |
---|---|
path_or_buf | handle de chaîne ou de fichier, par défaut Aucun Chemin ou objet de fichier, si aucun est fourni, le résultat est renvoyé sous forme de chaîne. |
sep | character, default ',' Délimiteur de champ pour le fichier de sortie. |
na_rep | string, default '' Représentation des données manquantes |
float_format | string, default None Chaîne de format pour les nombres à virgule flottante |
colonnes | séquence, colonnes facultatives à écrire |
entête | booléen ou liste de chaîne, par défaut True Ecrivez les noms de colonne. Si une liste de chaîne est donnée, elle est supposée être un alias pour les noms de colonne |
indice | booléen, par défaut True Write noms de lignes (index) |
index_label | string ou sequence, ou False, default Aucun Etiquette de colonne pour les colonnes d'index si vous le souhaitez. Si None est donné et que header et index sont True, les noms d'index sont utilisés. Une séquence doit être donnée si le DataFrame utilise MultiIndex. Si False, n'imprimez pas de champs pour les noms d'index. Utilisez index_label = False pour importer plus facilement dans R |
nanRep | Aucun déprécié, utilisez na_rep |
mode | str Mode d'écriture Python, par défaut 'w' |
codage | string, optionnel Chaîne représentant l'encodage à utiliser dans le fichier de sortie, par défaut, 'ascii' sur Python 2 et 'utf-8' sur Python 3. |
compression | string, facultatif une chaîne représentant la compression à utiliser dans le fichier de sortie, les valeurs autorisées sont 'gzip', 'bz2', 'xz', utilisé uniquement lorsque le premier argument est un nom de fichier |
line_terminator | string, default 'n' Caractère de nouvelle ligne ou séquence de caractères à utiliser dans le fichier de sortie |
en citant | constante optionnelle du module csv par défaut à csv.QUOTE_MINIMAL |
quotechar | string (length 1), caractère par défaut '"' utilisé pour citer les champs |
double citation | booléen, par défaut True Control citant quotechar dans un champ |
escapechar | chaîne (longueur 1), par défaut Aucun caractère utilisé pour échapper à sépare et quotechar, le cas échéant |
taille | lignes int ou None à écrire à la fois |
tupleize_cols | booléen, par défaut False écrit des colonnes multi_index comme liste de tuples (si True) ou nouveau (format développé) si False) |
format de date | string, default None Chaîne de formatage pour les objets datetime |
décimal | string, default '.' Caractère reconnu comme séparateur décimal. Par exemple, utiliser "," pour les données européennes |
Créez un DataFrame aléatoire et écrivez dans .csv
Créez un simple 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
Maintenant, écrivez dans un fichier CSV:
df.to_csv('example.csv', index=False)
Contenu de exemple.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
Notez que nous spécifions index=False
pour que les index générés automatiquement (n ° de ligne 0,1,2,3,4) ne soient pas inclus dans le fichier CSV. Incluez-le si vous avez besoin de la colonne d'index, comme ceci:
df.to_csv('example.csv', index=True) # Or just leave off the index param; default is True
Contenu de exemple.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
Notez également que vous pouvez supprimer l'en-tête s'il n'est pas nécessaire avec header=False
. C'est la sortie la plus simple:
df.to_csv('example.csv', index=False, header=False)
Contenu de exemple.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
Le séparateur peut être défini par sep=
argument, bien que le séparateur standard pour les fichiers csv soit ','
.
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
Enregistrer Pandas DataFrame de la liste aux dicts à csv sans index et avec encodage des données
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow