如何将numpy数组写入现有xlsx文件指定列且不覆盖原有数据
解决方案
要实现写入Excel指定列且不覆盖原有内容,需要使用openpyxl作为Excel操作引擎实现局部修改,操作步骤如下:
- 先安装依赖库(未安装时执行)
pip install openpyxl
- 完整操作代码
import pandas as pd import numpy as np from openpyxl import load_workbook # 把维度为(3217, 1)的数组转为一维,方便逐行写入 prob_list = sliced_probabilities.ravel() # 加载原有Excel文件和目标工作表 file_path = "Company_Data_Set.xlsx" target_sheet = "Sheet1" # 替换为你实际要写入的工作表名称 workbook = load_workbook(file_path) worksheet = workbook[target_sheet] # 写入AU列列头(Excel行号从1开始计数) worksheet["AU1"] = "P1 Probabilities" # 写入概率数据,从第2行开始对应数据行 for row_num, value in enumerate(prob_list, start=2): worksheet[f"AU{row_num}"] = value # 保存修改并关闭文件 workbook.save(file_path) workbook.close()
注意事项
- 该操作仅修改AU列内容,不会改动文件中其他单元格的原有数据和格式
- 如果你的数据起始行不是第2行,调整
enumerate的start参数即可 - 如果目标工作表不是默认的Sheet1,修改
target_sheet为对应的工作表名称
内容的提问来源于stack exchange,提问作者d0lphin
相关产品推荐
相关产品推荐

