Pandas使用格式化更新excel文件

时间:2018-05-08 15:47:20

标签: python excel pandas file

我有一个excel文件,它有多个工作表和特殊格式(颜色,符号等)。

在Python中,我知道我可以将文件读入数据框,更新某些列,然后将文件写回,但它会丢失所有格式并被覆盖。

有没有办法打开文件,只需 更新某些列的值 ,保持其他工作表不变并按原样格式化?

1 个答案:

答案 0 :(得分:0)

是的,你可以用这种方式使用openpyxl,例如:

from openpyxl.reader.excel import load_workbook
wb = load_workbook(filename='mypath\myfile.xlsx')
ws = wb.worksheets[0]
ws.cell(coordinate="A1").value = 2
wb.save("mypath\myfile.xlsx") 

单元格A1具有特定格式。它的格式保持不变,只有单元格的值发生变化。

要读取单元格的值,可以使用:

ws.cell(row=row_number, column=column_number).value

要使用for循环更改列的值,可以选择以下选项:

new_data = ['a','b','c','d']
for index, cell in enumerate(ws['A']):
    cell.value = new_data[index]