taiyang1888 2024-11-10 14:26 采纳率: 50%
浏览 28
已结题

关于 openpyxl 处理excel文件地问题

因为经常要做一个数据,所以做了一个模板表,sheet1 是结果 套的公式,sheet2是数据,打算用pandas把数据处理好后用openpyxl 把数据填到sheet2,但是 现在有两个问题

  1. sheet1 偶尔会有某个单元格的内容莫名奇妙地消失的情况,
  2. .程序没有改,只是模板表会调整,然后 openpyxl 有的时候就读不了模板表了
    请问一下这是什么原因?改怎么改?

dfx 是pandas 的数据
```python

dff = openpyxl.load_workbook("模板.xlsx")
new_sheet = dff ['sheet2']
n=0
for i in dfx.columns:
    new_sheet.cell(row=1, column=n+1).value = i
    for j in dfx.index:
        new_cell = new_sheet.cell(row=j+2, column=n+1) 
        new_cell.value = dfx.loc[j,i]
    n+=1
dff .save(“数据 11.xlsx")


```

  • 写回答

35条回答 默认 最新

  • 阿里嘎多学长 2024-11-10 14:26
    关注
    获得0.20元问题酬金

    阿里嘎多学长整理、AIGC生成:

    关于 openpyxl 处理excel文件的问题

    你遇到了使用 openpyxl 处理 Excel 文件的两个问题。根据你的描述,这些问题是:

    1. 使用 pandas 处理数据后,如何将数据填充到 Excel 文件的 sheet2 中?
    2. 如何在 Excel sheet2 中使用公式?

    这两个问题可以使用 openpyxl 库来解决。下面,我将详细解释如何解决这两个问题。

    问题 1: 将 pandas 数据填充到 Excel 文件的 sheet2 中

    可以使用 openpyxl 库的 load_workbook() 函数来加载 Excel 文件,然后使用 worksheet.values 属性来设置单元格的值。下面是一个简单的示例代码:

    import pandas as pd
    from openpyxl import load_workbook
    
    # 读取数据
    data = pd.read_csv('data.csv')
    
    # 创建一个 Excel 文件对象
    wb = load_workbook('template.xlsx')
    
    # 获取 sheet2 对象
    sheet = wb['Sheet2']
    
    # 使用 pandas 数据填充 sheet2
    for row in range(len(data)):
        for col in range(len(data.columns)):
            sheet.cell(row=row+1, column=col+1).value = data.iloc[row, col]
    
    # 保存文件
    wb.save('result.xlsx')
    

    问题 2: 在 Excel sheet2 中使用公式

    可以使用 openpyxl 库的 worksheet.formula 属性来设置单元格的公式。下面是一个简单的示例代码:

    import openpyxl
    
    # 创建一个 Excel 文件对象
    wb = load_workbook('template.xlsx')
    
    # 获取 sheet2 对象
    sheet = wb['Sheet2']
    
    # 设置单元格的公式
    sheet.cell(row=1, column=1).value = '=A1+B1'
    

    在上面的代码中,我们设置了单元格 A1 和 B1 的公式为 =A1+B1

    总的来说,openpyxl 库提供了一个灵活的接口来与 Excel 文件进行交互。可以使用它来读取、写入和修改 Excel 文件的数据和公式。

    评论

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 创建了问题 11月10日