【问题标题】:Convert data processing to Excel function将数据处理转换为 Excel 函数
【发布时间】:2021-04-24 08:35:21
【问题描述】:

我目前正在使用 Pandas 处理 excel 文件。将数据导出到 excel 时出现问题,但不包括数据的计算方式。示例:

  | A  | B
1 |Jame| 10
2 |Ann | 4

当我处理这些数据时

df = pd.read_csv("data.xlsx")
sum_amount = df['amount'].sum()

当我将数据导出到 excel 时,我希望 sum_amount 会被记录:

  | A  | B
1 |Jame| 10
2 |Ann | 4
3 |    | 14

B3 := SUM(B1:B2)

【问题讨论】:

    标签: python excel pandas dataframe


    【解决方案1】:

    您可以使用XlsxWriter.writer_formula 这是工作代码:

    import pandas as pd
    df = pd.DataFrame({'A': ['Jame','Ann'], 'B': [10,4]})  #df to be exported
    
    writer = pd.ExcelWriter("formula.xlsx", engine="xlsxwriter")  #writer object
    workBook = writer.book  #workbook object
    
    df.to_excel(writer, sheet_name='sheet1', index=False, header=False)  #write df to writer object
    
    workSheet = workBook.get_worksheet_by_name(name='sheet1')  #worksheet object
    workSheet.write_formula('B3', '=SUM(B1:B2)')  #write formula to worksheet object
    
    writer.save()   #finally save the writer object
    

    这是输出的 Excel 文件,您可以确认它确实存储了公式而不仅仅是值:

    【讨论】:

      【解决方案2】:

      首先您正在读取一个 excel 文件,因此您不能使用 pd.read_csv

      来到你的问题陈述。

      enter code here
      total = df['B'].sum()
      df = df.append({'B':total}, ignore_index=True)
      

      这会得到你想要的结果

      【讨论】:

        猜你喜欢
        • 2012-07-04
        • 1970-01-01
        • 1970-01-01
        • 2017-10-19
        • 2022-11-29
        • 1970-01-01
        • 2012-10-27
        • 1970-01-01
        • 2014-02-26
        相关资源
        最近更新 更多