[英]Pandas: Save multiple sheets into separate dataframes
我有一个包含多张工作表的 Excel 文件,我想使用循环将每张工作表保存到单独的 dataframe 中。
countries = ['Thailand', 'China']
for country in countries:
(country + '_data') = pd.read_excel(path, sheet_name = country)
但是我收到一条错误消息: SyntaxError: can't assign to operator
我知道分配不正确,但是如何构建一个正确的循环来为每个工作表生成单独的数据框?
更好的方法是
pd.ExcelFile
方法例如:
xl = pd.ExcelFile(file)
print(xl.sheet_names)
['China','Japan','Pakistan'...]
然后你可以将它们分配给一个字典
d = {} # your dict.
for sheet in xl.sheet_names:
d[f'{sheet}']= pd.read_excel(xl,sheet_name=sheet)
然后你可以打电话给你的个人dfs
d['China']
我猜这是你正在寻找的东西,因为你要求一个循环。 请记住,使用循环会使将 df 分配给变量变得更加困难。
另请注意, read_excel 将第一张纸读取为 0
import pandas as pd
num_sheets = 3
sheets = dict()
for i in range(num_sheets):
sheets[i] = pd.read_excel('./test.xlsx', sheet_name = i)
使用字典是在标题上包含循环的唯一简单方法。
如果您不需要循环,您可以简单地使用 read_excel 部分指定工作表名称或编号。
import pandas as pd
thailand_data = pd.read_excel('./test.xlsx', sheet_name = 'Thailand')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.