Je veux lire un fichier .xlsx à l'aide de la bibliothèque Pandas de python et porter les données vers une table postgreSQL.
Tout ce que je pouvais faire jusqu'à présent, c'est:
import pandas as pd
data = pd.ExcelFile("*File Name*")
Maintenant, je sais que l'étape a été exécutée avec succès, mais je veux savoir comment je peux analyser le fichier Excel qui a été lu afin que je puisse comprendre comment les données dans Excel correspondent aux données dans les données variables.
J'ai appris que les données sont un objet Dataframe si je ne me trompe pas. Alors, comment analyser cet objet dataframe pour extraire chaque ligne ligne par ligne.
Réponses:
Je crée généralement un dictionnaire contenant un
DataFrame
pour chaque feuille:Mise à jour: Dans la version 0.21.0+ de pandas, vous obtiendrez ce comportement plus proprement en passant
sheet_name=None
àread_excel
:Dans les versions 0.20 et antérieures, c'était
sheetname
plutôt quesheet_name
(c'est maintenant obsolète en faveur de ce qui précède):la source
pandas.DataFrame.to_sql
pourrait être utile. Pour la lecture, vous pouvez ensuite utiliserdp.py
quels objets Pandas DataFrame retournent.la source
La
read_excel
méthode de DataFrame est comme laread_csv
méthode:la source
Au lieu d'utiliser un nom de feuille, au cas où vous ne sauriez pas ou ne pourriez pas ouvrir le fichier excel pour enregistrer ubuntu (dans mon cas, Python 3.6.7, ubuntu 18.04), j'utilise le paramètre index_col (index_col = 0 pour la première feuille)
la source
sheet_name=0
ou nommer la feuille au lieu de 0.Attribuer le nom de fichier de la feuille de calcul à
file
Charger la feuille de calcul
Imprimer les noms des feuilles
Chargez une feuille dans un DataFrame par son nom: df1
la source
Si vous utilisez
read_excel()
sur un fichier ouvert à l'aide de la fonctionopen()
, assurez-vous d'ajouterrb
à la fonction ouverte pour éviter les erreurs d'encodagela source