我有一个包含30多张工作表的excel文件。然而,我在每个工作表上所做的操作或多或少都是相同的。但我的目标是为每个工作表创建单独的数据框架,以便将来可以参考
这就是我所尝试的,但它抛出了一个错误
xls = pd.ExcelFile('DC_Measurement.xlsx')
sheets = xls.sheet_names
for s in sheets:
print(s)
'df '+ s = pd.read_excel(xls, sheet_name=s)因此,就像我想要创建30个数据帧,并且每个数据帧都将以工作表名称作为后缀名称。我尝试使用"+“运算符,但也没有帮助。它抛出一条错误消息,如下所示
SyntaxError: can't assign to operator如何动态创建数据帧并为其命名?
发布于 2019-07-24 14:39:48
您可以使用类似以下内容:
for s in sheets:
vars()['df'+ s] = pd.read_excel(xls, sheet_name=s)发布于 2019-07-24 18:16:54
严格地说,这不是您问题的答案,但这将创建一个字典,其中键是工作表名称,值是数据帧。
workbook = pd.read_excel('DC_Measurement.xlsx', sheet_name = None)然后,您可以像这样检索所需的数据帧。
df = workbook['sheet_name']我认为这比其他解决方案更有条理。
发布于 2019-07-24 14:56:56
或者使用locals
for s in sheets:
locals()['df'+ s] = pd.read_excel(xls, sheet_name=s)在函数中,将locals更改为globals。
https://stackoverflow.com/questions/57176651
复制相似问题