python - 为数据框Python列中的每个唯一值创建Excel工作表

标签 python excel pandas

我有一个非常大的 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/

相关文章:

python - 第二个元素大于阈值的元组拆分列表

python - 使用lambda python将文件上传到s3后用表单数据更新mysql

python - 如何处理警告: "Workbook contains no default style, apply openpyxl' s default "

python - Dataframe.toPandas 总是在驱动程序节点上还是在工作节点上?

python - 我如何 'force' python 使用特定版本的模块?

python - 列表与元组,何时使用?

javascript - JS 在 Excel 中 # 后构建 CSV 中断

vba - 在某些条件下复制值

excel - 我应该如何格式化 OneDrive 文件路径以便 Open() 或 FSO.OpenTextFile 打开它?

python - 在 matplotlib 散点图中突出显示特定点