问题描述
我有一个 100 行的数据框,我试图按照以下代码将其拆分为多个数据框:
for m in df['month'].unique():
temp = 'df_{}'.format(m)
vars()[temp] = finance_metrics[df['month']==m]
这给了我 5 个新的数据框,如下所示:
df_January
df_February
df_March
df_April
df_May
我正在尝试将这 5 个数据帧中的每一个都插入到 Google 工作表中,该工作表按照下面的代码运行良好。我遇到的问题是我试图将这些数据帧中的每一个都插入到 Google 表格中的另一个下方,但我在尝试相应地引用单元格时遇到了麻烦。下面的代码插入了每个 Dataframe 起始单元格 A4 并且碰巧使用上述代码在循环中创建的最后一个 Dataframe 覆盖了之前创建的所有 Dataframe。我想避免数据帧被覆盖。
wks.set_dataframe(vars()[temp],'A'+'4+len(vars()[temp])')
解决方法
这应该有效。您也可以将单元格地址作为元组传递。
offset = 0
for m in df['month'].unique():
temp = finance_metrics[df['month']==m]
wks.set_dataframe(temp,(4+offset,1))
offset += len(temp)