我有一个非常大的 CSV 文件,其中包含 250,000 多条记录,需要一段时间才能在 Excel 中进行分析,因此我想根据我在 pandas 中创建的特定计算列将其拼接到多个工作表中。
特定列称为“Period”,是我的数据框中的一个字符串变量,格式为 MMM_YYYY(例如 Jan_2016、Feb_2016 等)
我正在尝试制作一个工作簿(我们称之为 data_by_month.xlsx),该工作簿为数据帧列“期间”中的每个唯一期间提供一个工作表,并将所有匹配的行写入相应的工作表中。
这是我尝试过的逻辑:
for row in df:
for period in unique_periods:
if row[38] == period:
with pd.ExcelWriter("data_by_month.xslx") as writer:
df.to_excel(writer, sheet_name = period)
这背后的想法是,对于数据帧中的每一行,遍历唯一周期列表中的每个周期,如果行[38](周期的索引)等于一个周期,则写入将其放入 data_by_month.xlsx 工作簿中,放入特定的工作表中。
我知道我的代码现在完全不正确,但这是我一直在尝试实现的一般逻辑。我很确定我错误地引用了数据框中“期间”列的位置,因为它一直说它超出范围。欢迎任何建议!
非常感谢!
最佳答案
您应该能够使用 groupby 来实现此目的在 Pandas 中。例如...
with pd.ExcelWriter("data_by_month.xlsx") as writer:
for period, data in df.groupby('Period'):
data.to_excel(writer, sheet_name = period)
关于python - 为数据框Python列中的每个唯一值创建Excel工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55227995/