pandas and openpyxl
pandas是一个提供快速、灵活、明确数据结构的库,主要用于数据清理和分析。它能够将数据以多种形式进行分组、聚合、转换等操作,并提供了大量的数据处理函数。
openpyxl则是一个用于处理Excel 2010 xlsx/xlsm/xltx/xltm文件的库,它能够读取、写入Excel文件,并支持样式、公式、条件格式等自定义功能。
1.读取excel文件
pd.read_excel(文件路径, header=开始行)
2.将数据保存到文件
1).创建一个ExcelWriter对象,该对象用于将pandas DataFrame写入Excel文件。这里的pd是pandas库的常用别名,ExcelWriter是pandas库中用于写入Excel的类。FileName是你想要写入的Excel文件的名称,engine='openpyxl’指定了使用的引擎是openpyxl,它是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
2).使用pd.DataFrame.from_dict()方法从DefectDict字典创建了一个DataFrame对象。orient='index’意味着将字典的键作为DataFrame的索引。然后,.T操作符用于交换DataFrame的行和列,即进行转置。
3).创建的DataFrame对象df写入到Excel文件中。writer是前面创建的ExcelWriter对象,sheet_name='sheet1’指定了将数据写入到名为’sheet1’的工作表中。index=False意味着在写入Excel文件时不包括DataFrame的索引。
writer = pd.ExcelWriter(文件路径, engine='openpyxl')
df = pd.DataFrame.from_dict(数据, orient='index').T
df.to_excel(writer, sheet_name=工作表, index=False)
writer.save()
3.设置单元格颜色
fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
worksheet[xxx].fill = fill
4.在不改变excel文件原有格式改变文件中数据
1).删除某一行
workbook = load_workbook(文件路径)
sheet = workbook[工作表名]
sheet.delete_rows(行号)
workbook.save(文件路径)
2).修改某一单元格数据
workBook = openpyxl.load_workbook(文件路径)
workSheet = workBook[工作表名]
excelRowLen= workSheet.max_row
for row in workSheet.iter_rows(min_row=1, max_row=excelRowLen, min_col=1, max_col=excelColumnLen):
for cell in row:
cell.value = num
workBook.save(文件路径)
docx
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx import Document
1.读取word文件中的表格
document = Document(文件路径)
#获取文件中所有表格
tables = document.tables
2.删除word文件中的表格中的指定行
for _row, rowData in enumerate(wordTabledata.rows):
for column, cell in enumerate(rowData.cells):
cell.paragraphs[0].alignment = WD_TABLE_ALIGNMENT.CENTER
document.save(copyWordPath)