python中excel处理及生成图表
excel 相关操作
自动办公之表格计算及生成条形图
导入openpyxl模块(pypi官网复制pip指令下载)
import openpyxl as xl
from openpyxl.chart import BarChart,Reference
wb = xl.load_workbook("test.xlsx")
sheet = wb[Sheet1]
#访问单元格
#cell = sheet[a1]
# cell = sheet.cell(1,1)
for row in range(2,sheet.max_row+1):
cell = sheet.cell(row,3)
corrected_price = cell.value * 0.9
corrected_price_cell = sheet.cell(row,4)
corrected_price_cell.value = corrected_price
values = Reference(sheet,
min_row=2,
max_row=sheet.max_row,
min_col=4,
max_col=4)
chart = BarChart()
chart.add_data(values)
sheet.add_chart(chart,e2)
wb.save(test2.xlsx)
实现效果如图所示:
如果想要实现多个表格的处理,就需要定义为一个函数
import openpyxl as xl
from openpyxl.chart import BarChart,Reference
from pathlib import Path
def process_workbook(filename):
wb = xl.load_workbook(filename)
sheet = wb[Sheet1]
for row in range(2,sheet.max_row+1):
cell = sheet.cell(row,3)
corrected_price = cell.value * 0.9
corrected_price_cell = sheet.cell(row,4)
corrected_price_cell.value = corrected_price
values = Reference(sheet,
min_row=2,
max_row=sheet.max_row,
min_col=4,
max_col=4)
chart = BarChart()
chart.add_data(values)
sheet.add_chart(chart,e2)
wb.save(filename)
path = Path()//设置路径
//处理所有文件后缀为xlsx的表格
for file in path.glob(*.xlsx):
process_workbook(file)
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
Sword47——礼物的最大价值
