python修改本地已有excel,不改变原格式

本文介绍了如何使用Python的pandas库读取Excel文件,通过OpenPyXL操作模板,动态填充数据并另存为新Excel。重点讲解了如何设置表头、数据写入以及最终的保存过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤:

1、用load_workbook 读取excel文件

2、写入数据

3、另存为

# 这里是一个df
import pandas as pd
df = pd.read_excel("数据.xlsx")

from openpyxl import load_workbook
workbook = load_workbook(filename = "./模板.xlsx")
sheet = workbook.active

sheet["B1"] = '测试文本'

# 清空目标区域
for i in range(1, 50):
    for j in range(4, 50):
        sheet.cell(row = i,column = j).value = ''

# 写入数据--表头
for j in range(4, 4 + df.shape[1]):
    sheet.cell(row = 2, column = j).value = df.columns[j - 4]

# 写入数据--数据
for i in range(3, 3 + df.shape[0]):
    for j in range(4, 4 + df.shape[1]):
        sheet.cell(row = i,column = j).value = df.values[i - 3][j - 4]

sheet["A1"] = '测试结束'
# 保存excel
workbook.save(filename = "./生成excel.xlsx")

### 使用Python设置Excel单元格字体颜色 为了实现这一目标,可以采用`openpyxl`库来处理`.xlsx`格式Excel文件。下面展示了如何通过该库设定特定单元格内的文字颜色。 对于`openpyxl`而言,修改字体属性(包括颜色)涉及到了`Font`类的应用。具体来说: - 需要先导入必要的包 `import openpyxl` 和 `from openpyxl.styles import Font`. - 创建一个新的工作簿实例或者加载已有的工作簿. - 定义一个带有指定颜色参数的`Font`对象;其中颜色可以通过RGB十六进制字符串表示。 - 将定义好的字体应用到具体的单元格上. 以下是详细的代码示例[^1]: ```python import openpyxl from openpyxl.styles import Font # 创建新的工作簿并激活默认的工作表 wb = openpyxl.Workbook() sheet1 = wb.active # 设置B2单元格的内容及其字体颜色为红色(RGB: FF0000) font_red = Font(color="FF0000", size=12) # 红色字体 sheet1['B2'] = 'Red Text' cell_b2 = sheet1['B2'] cell_b2.font = font_red # 另外的例子:C3单元格的文字设为蓝色(RGB: 0000FF), 并加粗显示 font_blue_bold = Font(bold=True, color="0000FF") sheet1['C3'] = 'Blue Bold Text' cell_c3 = sheet1['C3'] cell_c3.font = font_blue_bold # 最后保存更改至本地磁盘上的某个路径下的新文件中 wb.save('example_with_colors.xlsx') ``` 如果考虑的是更早版本的Excel文件(.xls),则可能需要用到`xlwt`库来进行类似的自定义操作。过需要注意的是,在`xlwt`里边,改变字体颜色的方式略有同,它是直接提供给`Font`构造函数作为参数传递进去,而是借助于样式(`easyxf`)的方法完成配置[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值