使用python处理后保存.xlsx

时间:2019-03-15 18:14:35

标签: python excel pandas openpyxl

我有一个巨大的Excel文件,每个月都必须填写。作为一项非常无聊的任务,我想使其自动化。 为此,我正在考虑使用python,即使它不是我的主要语言

我的问题是,原始excel文件必须保存非常不友好的格式(许多颜色,更改的单元格尺寸,单元格并集,..)

当前,我的代码读取一个excel,更改两个单元格的值,然后将修改后的工作表保存到新文件中。不幸的是,当我打开新文件时,所有样式信息都会丢失。有没有办法保存这些“元数据”?

编辑:我无法使用在中提出的解决方案 Preserving styles using python's xlrd,xlwt, and xlutils.copy 由于我正在使用xlsx,而xlutils仅适用于xls。

import numpy as np
import pandas as pd
from openpyxl import load_workbook



sheet1=pd.read_excel('hoja.xlsx', sheet_name=0, names = ['a1','a2','a3','a4','a5','a6','a7','a8','a9','a10','a11','a12','a13','a14','a15','a16','a17','a18','a19','a20','a21','a\
22','a23','a24','a25','a26','a27','a28','a29','a30','a31','a32','a33','a34','a35','a36','a37','a38','a39','a40','a41','a42','a43','a44','a45','a46','a47','a48','a49','a50'])
sheet2=pd.read_excel('hoja.xlsx', sheet_name=1, names = ['b1','b2','b3','b4','b5','b6','b7','b8','b9','b10','b11','b12','b13','b14','b15','b16','b17','b18','b19','b20','b21','b\
22','b23','b24','b25'])
sheet3=pd.read_excel('hoja.xlsx', sheet_name=2, names = ['c1','c2','c3','c4','c5','c6','c7','c8','c9','c10','c11'])
#print(sheet3.fillna('0'))                                                                                                                                                       

sheet3.loc[300,"c1"] = "@@@"
sheet3.iloc[300,5] = "ABC"

writer = pd.ExcelWriter('hoja_mod.xlsx', engine='openpyxl')
sheet1.to_excel(writer, sheet_name = 'x1')
sheet2.to_excel(writer, sheet_name = 'x2')
sheet3.to_excel(writer, sheet_name = 'x3')                                                                                                                       

print(sheet3)

writer.save()
writer.close()

0 个答案:

没有答案