我想使用python的Pandas库读取一个.xlsx文件,并将数据移植到postgreSQL表。
到目前为止我所能做的就是
import pandas as pd
data = pd.ExcelFile("*File Name*")
现在我知道该步骤已经成功执行,但我想知道我如何解析已读取的excel文件,以便我可以了解excel中的数据如何映射到变量数据中的数据。 我了解到,如果我没有错,数据是一个Dataframe对象。那么我如何解析这个dataframe对象来逐行提取每一行。
我想使用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')
其他回答
我没有使用表名,以防你不知道或无法打开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
pd.read_excel(file_name)
有时这段代码给出xlsx文件的错误:XLRDError:Excel xlsx文件;不支持
相反,您可以使用openpyxl引擎读取excel文件。
df_samples = pd.read_excel(r'filename.xlsx', engine='openpyxl')
我通常为每个表创建一个包含DataFrame的字典:
xl_file = pd.ExcelFile(file_name)
dfs = {sheet_name: xl_file.parse(sheet_name)
for sheet_name in xl_file.sheet_names}
更新:在pandas 0.21.0+版本中,通过将sheet_name=None传递给read_excel,可以更清晰地获得此行为:
dfs = pd.read_excel(file_name, sheet_name=None)
在0.20和更早的版本中,这是sheetname而不是sheet_name(现在不推荐使用上面的):
dfs = pd.read_excel(file_name, sheetname=None)
如果在使用open()函数打开的文件上使用read_excel(),请确保将rb添加到open函数中以避免编码错误
为文件分配电子表格文件名
负载电子表格
打印表名
通过名称:df1将一个表加载到数据帧中
file = 'example.xlsx'
xl = pd.ExcelFile(file)
print(xl.sheet_names)
df1 = xl.parse('Sheet1')