Tout d'abord, pandas gère les fichiers Excel et les fichiers csv
1, fichier csv
csv stocke les données de table en texte brut
pd.read_csv ('nom de fichier'), vous pouvez ajouter le paramètre engine = 'python', encoding = 'gbk'
En général, l'encodage par défaut du système Windows est gbk, vous pouvez afficher le code de page actif via chcp dans la fenêtre cmd, 936 signifie gb2312.
Par exemple, l'encodage par défaut de mon ordinateur est gb2312, pycharm utilise par défaut l'encodage utf-8 et des erreurs se produisent lorsque la mémoire csv est en chinois, ce qui peut être résolu en spécifiant le moteur ou le format d'encodage.
2. Fichier Excel
Les blogs précédents ont écrit sur la lecture et l'écriture de fichiers xls via xlrd et xlwt, et sur la lecture et l'écriture de fichiers xlsx via openpyxl, et les pandas peuvent gérer les fichiers xls et les fichiers xlsx.
Le résultat Excel lu par les pandas est un objet DataFrame, donc de nombreuses méthodes de DataFrame seront utilisées, apprenez DataFrame https://www.cnblogs.com/Forever77/p/11209186.html .
pd.read_excel ('nom de fichier'), lisez la première page de feuille du fichier par défaut, et traitez la première ligne comme une colonne, ajoutez une ligne d'entiers commençant de 0 comme index.
Paramètre commun sheet_name = '': indique quelle page de feuille du fichier à lire, peut être le nom de la page de feuille, ou vous pouvez utiliser un nombre, 0 signifie la première page de feuille; Aucun ne lira toutes les pages de feuille avec du contenu. Le résultat est un dictionnaire, la clé du dictionnaire est le nom de la page de feuille et la valeur est le contenu de la page de feuille; la première page de feuille est lue par défaut
index_col: quelle colonne est utilisée comme colonne d'index, ajoutez une colonne d'entiers commençant par 0 comme index par défaut et spécifiez la colonne d'index en spécifiant index_col = 'nom de colonne'
en-tête: quelle ligne doit être utilisée comme en-tête de tableau, à savoir les colonnes du DataFrame. Par défaut, la première ligne de la page de feuille est utilisée comme en-tête de tableau; header = 1 utilisera la deuxième ligne comme en-tête de tableau
Supposons qu'il existe un contenu de tableau Excel comme indiqué dans la figure 1, et que les résultats de lecture à l'aide de pandas sont les suivants.
-
import pandas as pd
-
df = pd.read_excel('fruit.xlsx')
-
print(df)
-
print(df.values)
-
print(df['名称'])
-
print(df.loc[1])
-
print(df.loc[2,'单价/元'])
① df = pd.read_excel ('fruit.xlsx'), ce qui signifie qu'Excel est lu par les pandas et chargé en tant que DataFrame. Comme le montre la figure 2, si vous ne définissez pas l'index lors de la lecture, les pandas généreront automatiquement une colonne, la valeur de la colonne commence à partir de 0 , Indiquant l'index de ligne.
② La partie dans le cadre rouge de la figure 2 est la valeur du DataFrame, qui peut être obtenue via df.values , le résultat est affiché sur la figure 3, semblable à la forme d'une liste, le type de données est <class 'numpy.ndarray'>;
③ Il y a trois colonnes dans la partie données de la figure 2. Le nom de la colonne est le contenu de la première ligne, c'est-à-dire l'index de la colonne. Le contenu d'une colonne peut être obtenu via df [nom de la colonne]. Le résultat est illustré à la figure 4;
④ L'index de ligne généré automatiquement par les pandas commence à 0, et le contenu de la ligne avec la valeur d'index n peut être obtenu via pd.loc [n] .Le résultat est illustré à la figure 5;
⑤ Grâce à pd.loc [index de ligne, index de colonne] peut obtenir le contenu de cellules spécifiques, les résultats présentés dans la figure 6.
L'index peut être défini par df.set_index (nom de colonne), comme indiqué dans l'exemple suivant
-
import pandas as pd
-
df = pd.read_excel('fruit.xlsx') #也可在读取时直接设置index_col='名称'
-
df = df.set_index('名称') #设置名称列为行索引
-
print(df)
-
print(df.values)
-
print(df['库存/kg'])
-
print(df.loc['草莓'])
-
print(df.loc['香蕉','单价/元'])
Écrire des données au format DataFrame pour exceller
La première étape: writer = pd.ExcelWriter ('chemin et nom du fichier'), le nom du fichier doit être spécifié, la valeur par défaut est enregistrée dans le même répertoire du fichier actuel, le nom du fichier doit inclure le nom du suffixe et ne peut être que xls ou xlsx
La deuxième étape: df.to_excel (écrivain, 'nom de page de feuille'), les paramètres de la page de feuille peuvent être non spécifiés, la valeur par défaut est Sheet1
La troisième étape: writer.save ()
Deuxièmement, Beijing Shang Classroom-pandas traite les fichiers Excel:
Lisez le fichier Excel
install pandas pip install --no-index --find-links = package location-r requirements.txt
requirements.txt enregistre tous les packages de dépendance et les numéros de version requis pour vérifier le succès de python → import pandas import
import import package import pandas Get data
data = pandas.read_excel ("nom du fichier xls", sheet_name = numéro ou nom de la table des feuilles, names = [nouvelle liste de noms de colonnes], dtype = {"nouveau nom de colonne": type} ,, skiprows = ignorer les lignes de données Le nombre de lignes, header = None signifie pas de nom de colonne) La
valeur par défaut est d'inclure le nom de la colonne. La
valeur par défaut est de lire
toutes les données de la première page de la feuille . Le résultat est un DataFrame (dictionnaire, mot-clé de nom de colonne) datalist = data.values.tolist ( ) Retour à la liste
Ci-dessous le code:
import pandas
file = pandas.read_excel ("e: /cases.xsl", skiprows = 1, header = none, names = 'yhm', 'mm', 'yuqi', dtype = {' yhm ': str,' mm ': str,' yuqi ': str})
data = file.values.tolist ()
pour la ligne dans les données:
yhm = line [0]
mm = line [1]
yuqi = lin2 [2]
Les cas de données d'origine sont les suivants:
Voir Baidu Cloud pour le package d'installation de pandas
Troisièmement, le code d'auto-apprentissage python2 réalise une partie du code source du processus de paramétrage pandas + ddt:
def readlists (): lists = [ [",", u'Please enter your mobile phone / email / username '], [' admin ', ", u'Please enter your password'], [", 'admin', u 'veuillez entrer votre téléphone / email / nom d'utilisateur']] listes de retour
import pandas def readlists (): file = pandas.read_excel ('e: /cases.xsl') # <class 'pandas.core.frame.DataFrame'> lists = file.values.tolist () #Convert to list (list Format) retourner les listes
Voir le paramétrage suivant en détail: https://blog.csdn.net/weixin_45433031/article/details/105000337 , présentant ddt