我想使用python的Pandas库读取一个.xlsx文件,并将数据移植到postgreSQL表。

到目前为止我所能做的就是

import pandas as pd
data = pd.ExcelFile("*File Name*")

现在我知道该步骤已经成功执行,但我想知道我如何解析已读取的excel文件,以便我可以了解excel中的数据如何映射到变量数据中的数据。 我了解到,如果我没有错,数据是一个Dataframe对象。那么我如何解析这个dataframe对象来逐行提取每一行。


当前回答

为文件分配电子表格文件名

负载电子表格

打印表名

通过名称:df1将一个表加载到数据帧中

file = 'example.xlsx'
xl = pd.ExcelFile(file)
print(xl.sheet_names)
df1 = xl.parse('Sheet1')

其他回答

下面的方法对我很有效:

from pandas import read_excel
my_sheet = 'Sheet1' # change it to your sheet name, you can find your sheet name at the bottom left of your excel file
file_name = 'products_and_categories.xlsx' # change it to the name of your excel file
df = read_excel(file_name, sheet_name = my_sheet)
print(df.head()) # shows headers with top 5 rows

为文件分配电子表格文件名

负载电子表格

打印表名

通过名称:df1将一个表加载到数据帧中

file = 'example.xlsx'
xl = pd.ExcelFile(file)
print(xl.sheet_names)
df1 = xl.parse('Sheet1')

我没有使用表名,以防你不知道或无法打开excel文件来检入ubuntu(在我的例子中,Python 3.6.7, ubuntu 18.04),我使用参数index_col (index_col=0对于第一个表)

import pandas as pd
file_name = 'some_data_file.xlsx' 
df = pd.read_excel(file_name, index_col=0)
print(df.head()) # print the first 5 rows

如果在使用open()函数打开的文件上使用read_excel(),请确保将rb添加到open函数中以避免编码错误

pd.read_excel(file_name) 

有时这段代码给出xlsx文件的错误:XLRDError:Excel xlsx文件;不支持

相反,您可以使用openpyxl引擎读取excel文件。

df_samples = pd.read_excel(r'filename.xlsx', engine='openpyxl')