我有一个excel文件,它有多个工作表和特殊格式(颜色,符号等)。
在Python中,我知道我可以将文件读入数据框,更新某些列,然后将文件写回,但它会丢失所有格式并被覆盖。
有没有办法打开文件,只需 更新某些列的值 ,保持其他工作表不变并按原样格式化?
答案 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]