vivian0928 2024-04-25 15:25 采纳率: 0%
浏览 22

用python编辑excel没有改变怎么办?

用python编辑excel没有改变怎么办?
如图 在jupyter notebook里面运行了之后excel没有任何改变是为啥呀?程序也没报错/(ㄒoㄒ)/~~

img

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-25 15:26
    关注

    引自免费微信小程序:皆我百晓生

    在Jupyter Notebook中编辑Excel文件并保存时,有时可能会遇到看不到变化的问题。这可能是因为工作簿没有正确地更新或保存。这里有几个步骤可以帮助您解决这个问题:

    1. 确保load_workbook函数使用的是正确的路径和方法。
    2. 使用save()方法保存工作簿。
    3. 关闭并重新打开Excel文件查看更改。

    下面是修改后的代码示例:

    # 导入所需的库
    import pandas as pd
    from openpyxl import load_workbook
    
    # 读取Excel文件
    workbook = load_workbook(filename='C:/Users/huawei/Desktop/财务数据2.xlsx')
    sheet = workbook.active
    
    # 将数据框与工作表关联
    df = pd.DataFrame(sheet.values)
    
    # 对数据框进行操作
    df['折旧-cfo'] = df['折旧-cfo'].apply(lambda x: x * 0.9)  # 示例:将'折旧-cfo'列的值乘以0.9
    
    # 更新工作表
    for i, row in enumerate(df.itertuples(), start=1):
        for j, cell in enumerate(row[:-1], start=1):
            sheet.cell(row=i, column=j).value = cell
    
    # 保存工作簿
    workbook.save('C:/Users/huawei/Desktop/财务数据2.xlsx')
    
    # 关闭工作簿(虽然不是必需的,但这样做可以释放资源)
    workbook.close()
    

    这段代码首先从Excel文件加载工作簿,并将其与一个DataFrame关联起来。然后对DataFrame进行操作,这里是将'折旧-cfo'列的值乘以0.9作为例子。接着,遍历DataFrame并将更改应用回工作表中的相应单元格。最后,保存工作簿并关闭它。

    由于Jupyter Notebook的工作环境可能不会立即显示Excel文件的变化,建议您关闭并重新打开Excel文件来检查所做的更改是否生效。如果仍然无法看到变化,请确保您使用的Excel版本支持openpyxl库,并且有足够的权限来编辑文件。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月25日