龙空技术网

Python - 如何操作Excel文件?

量化散兵线 219

前言:

如今同学们对“python写出excel文件”大致比较注意,同学们都需要剖析一些“python写出excel文件”的相关资讯。那么小编在网上网罗了一些对于“python写出excel文件””的相关知识,希望姐妹们能喜欢,我们快快来了解一下吧!

用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")

(本文完)

标签: #python写出excel文件