前情提要:需要有openpyxl哦 如果没有请参考上一篇文章
http://t.csdnimg.cn/fjbLJ
先介绍一下对表格的基本操作 首先创立一个
transactions.xlsx
基本操作:获取表格,获取值
import openpyxl as xl
# 这个as 单纯简化 相当于别名
wb=xl.load_workbook('transactions.xlsx')
# wb['Sheet1']返回一张表格sheet=wb['Sheet1']
# 访问第一列第一行两种访问方式
# a2表示a行第几列 从一开始 不区分大小写
cell=sheet['a2']
# a,b 表示a行b列 从一开始
cell2=sheet.cell(1,2)
# 获取值
print(cell.value)
print(cell2.value)
# 获取行
row=sheet.max_row
怎么实现这样变那样呢!
import openpyxl as xl
# 这个as 单纯简化 相当于别名
from openpyxl.chart import BarChart,Reference
# 画图wb=xl.load_workbook('transactions.xlsx')
# wb['Sheet1']返回一张表格
sheet=wb['Sheet1']# 获取行
row=sheet.max_row
for i in range(2,row+1):cell=sheet.cell(i,3)corrected_price=cell.value*0.9corrected_price_cell=sheet.cell(i,4)corrected_price_cell.value=corrected_price# 制图开始
# 获取第四例,从第二行到第四行的值
values=Reference(sheet,min_row=2,max_row=row,min_col=4,max_col=4)
chart=BarChart()
chart.add_data((values))
# 把图放到e2的位置
sheet.add_chart(chart,'e2')
# 保存表格 避免出错直接写一个新的名字
wb.save('transaction2.xlsx')
如何实现自动化呢!?当然是函数function
import openpyxl as xl
from openpyxl.chart import BarChart,Referencedef process_workbook(filename):wb = xl.load_workbook(filename)sheet = wb['Sheet1']row = sheet.max_rowfor i in range(2, row + 1):cell = sheet.cell(i, 3)corrected_price = cell.value * 0.9corrected_price_cell = sheet.cell(i, 4)corrected_price_cell.value = corrected_price# 制图开始# 获取第四例,从第二行到第四行的值values = Reference(sheet,min_row=2,max_row=row,min_col=4,max_col=4)chart = BarChart()chart.add_data((values))# 把图放到e2的位置sheet.add_chart(chart, 'e2')# 保存表格 避免出错直接写一个新的名字wb.save(filename)