python日常办公excel技巧(Python - 如何操作Excel文件?)
- 办公技巧
- 2023-08-15 16:28:37
- 0
用Python开发数据分析程序时,会经常使用Excel文件,通常都采用读取Excel文件的方式。Python也可以使用openpyxl这个专用工具包对Excel文件直接进行操控,可以改写Excel文件的内容、读取其中一部分数据、在Excel文件中插入图形等等。本文就讲述在Python代码中如何使用openpyxl来操控Excel文件。
首先安装openpyxl工具包,
pip install openpyxl
接下来编写一段Python程序,名称为automate_excel.py
步骤如下:
导入openpyxl及其相关绘图函数
import openpyxl as xlfrom openpyxl.chart import BarChart, Reference
打开Excel文件auto_excel.xlsx
wb = xl.load_workbook('auto_excel.xlsx')sheet = wb['Sheet1']
以上代码中访问auto_excel.xlsx文件的sheet1表,内容如下图所示:
读取sheet1中第3列、第2到4行的数据
for row in range(2, sheet.max_row 1): cell = sheet.cell(row, 3)
修改sheet1表的内容
把”价格“一列的数据乘以0.9,然后保存为新的一列,代码如下:
corrected_price = float(cell.value.replace('$','')) * 0.9corrected_price_cell = sheet.cell(row, 4)corrected_price_cell.value = corrected_price
在auto_excel.xlsx中的sheet1表中,插入柱状图
选择第4列作为柱状图的数据,代码如下:
values = Reference(sheet, min_row=2, max_row=sheet.max_row, min_col=4, max_col=4)
以上代码中使用了reference类来选择所需要的数据,这就要指定5个参数的值:
第1个参数是“sheet”,接下来是min_row = 2和max_row= sheet。还有两个参数是min_col=4和max_col=4,并把结果存储到value变量中。
在sheet1中,创建柱状图
chart = BarChart()chart.add_data(values)sheet.add_chart(chart, 'e6')
其中chart是BarChart的一个实例,chart.add_data(values)这一句添加作图所需要的数据,sheet.add_chart(chart, 'e6')这一句指定图形左上角在sheet中的位置,这里的位置是e6。
把文件auto_excel.xlsx另存为auto_excel2.xlsx
wb.save("auto_excel2.xlsx")
修改后的auto_excel2.xlsx文件,如下图所示:
整个过程完整代码如下:
import openpyxl as xlfrom openpyxl.chart import BarChart, Reference def process_workbook(filename1,filename2): wb = xl.load_workbook(filename1) 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(filename2)process_workbook("auto_excel.xlsx","auto_excel2.xlsx")
(本文完)
本文由 京廊文化根据互联网搜索查询后整理发布,旨在分享有价值的内容,本站为非营利性网站,不参与任何商业性质行为,文章如有侵权请联系删除,部分文章如未署名作者来源请联系我们及时备注,感谢您的支持。
本文链接: /bangong/15858.html