星辰儿啊 2023-10-30 16:11 采纳率: 43.1%
浏览 5

python导出excel的问题

问题是这样的:
从数据库查询出来的数据,其他字段都是一对一,唯独:修复方式和单位,是一对多的数据,
其中一对多的数据查询出来为此格式(列表套字典):
[{"mode": "333","unit": "999"},{"mode": "666","unit": "000"}]
现在需要在导出时,格式为一下样式,有没有啥方法可以帮忙解决下!
我用的python的pd.DataFrame()函数,
现在就是卡在了一对多这个上面了,具体可以看图片

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-31 05:08
    关注

    【以下回答由 GPT 生成】

    我可以使用Python的pandas库来解决这个问题。下面是一个具体的解决方案:

    1. 首先,将一对多的数据转换为pandas的DataFrame格式。假设一对多的数据存储在一个名为data的列表中:
    import pandas as pd
    
    data = [{"mode": "333", "unit": "999"},
            {"mode": "666", "unit": "000"}]
    
    df = pd.DataFrame(data)
    
    1. 然后,创建一个新的Excel文件,并将DataFrame写入其中:
    # 创建一个新的Excel文件
    writer = pd.ExcelWriter('output.xlsx')
    
    # 将DataFrame写入Excel文件的Sheet1工作表中
    df.to_excel(writer, sheet_name='Sheet1', index=False)
    
    # 保存Excel文件
    writer.save()
    
    1. 接下来,使用openpyxl库来处理Excel文件中的一对多数据。首先,安装openpyxl库:
    pip install openpyxl
    
    1. 然后,使用openpyxl打开Excel文件并遍历每一行,将一对多的数据按照指定格式写入Excel文件:
    from openpyxl import load_workbook
    
    # 打开Excel文件
    workbook = load_workbook('output.xlsx')
    
    # 选择Sheet1工作表
    sheet = workbook['Sheet1']
    
    # 遍历每一行
    for row in sheet.iter_rows(min_row=2, values_only=True):
        # 获取一对多的数据
        data = [{"mode": value, "unit": row[2]} for value in row[1].split(",")]
    
        # 将一对多数据写入相应的单元格
        for i, d in enumerate(data):
            sheet.cell(row=2+i, column=3).value = d['unit']
            sheet.cell(row=2+i, column=4).value = d['mode']
    
    # 保存Excel文件
    workbook.save('output.xlsx')
    

    这样,你就可以将一对多的数据导出为指定样式的Excel表格了。请注意,代码中的"2"是根据图中的示例表格确定的起始行号。

    希望这个解决方案能对你有所帮助!如果你还有任何问题,请随时提问。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月30日

悬赏问题

  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 火车票关联12306问题
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算