将字符串列表转换为变量列表(数据帧)

时间:2018-01-10 20:50:41

标签: python string pandas dataframe

我有多个数据帧(例如df0,df1,df2,df3),我需要迭代,但数据帧的数量是任意的,并且当我在不同的数据集上运行此脚本时,它是可变的。我需要生成这些数据帧的列表(使用循环):

dfs = [df0,df1,df2,df3]

到目前为止,这就是我所拥有的......

dfs = []
for i in range(4):
    dfs.append('df'+str(i))

然而,这会返回:

dfs = ['df0', 'df1', 'df2', 'df3']

有没有办法将这个字符串列表转换为数据帧列表?还是另一种写循环的方法呢?

目标是创建可打印的Excel文档。我需要一个包含24列和任意行数的数据帧(从5个条目到超过100个)。因为它需要是可打印的,所以我必须将数据帧拆分成多个数据帧,每个数据帧都有列标签,每页3行,每页有一个数据帧。由于我需要生成的数据帧数量取决于原始数据帧中的行数,因此它涉及在循环中唯一地生成数据帧。这是我用来生成数据帧的代码:

 og = pd.ExcelFile(file).parse('Sheet1')

 sheets = int(len(og)/3)
 if (len(og)%3) != 0:
     sheets = sheets + 1

frames = [og.loc[i*3:(3*i + 2)] for i in range(sheets)]

for i in range(len(frames)):
     exec('df' +str(i)+ '= frames[i].transpose()')

0 个答案:

没有答案