下面给你详细讲解“Python操作Excel的包(Openpyxl、XlsxWriter)”的完整实例教程。
1. Openpyxl库
1.1 安装Openpyxl库
Openpyxl
是一个专门用于操作Excel文件的Python库,可以方便地读取Excel文件内容,也可以创建并向其中写入新的Excel内容。
安装方式:
pip install openpyxl
1.2 读取Excel文件
在使用Openpyxl读取Excel文件时,首先需要导入openpyxl
库,然后使用load_workbook()
方法来加载Excel文件。以下是读取example.xlsx
文件,并打印第一个工作表的数据。
# 导入openpyxl库
import openpyxl
# 加载Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择第一个工作表
sheet = wb.active
# 打印第一行数据
for cell in sheet[1]:
print(cell.value)
1.3 写入Excel文件
在使用Openpyxl写入Excel文件时,首先需要创建一个Workbook()
对象,然后向其中添加工作表,接着可以向工作表中写入具体的数据。
以下是创建一个新的Excel文件,并增加一个名为“Sheet1”的工作表,并向其中写入一行数据。
# 导入openpyxl库
import openpyxl
# 创建新的Excel文件
wb = openpyxl.Workbook()
# 添加名为“Sheet1”的工作表
sheet = wb.create_sheet('Sheet1')
# 写入数据
sheet['A1'].value = 'ID'
sheet['B1'].value = 'Name'
sheet['C1'].value = 'Age'
# 保存文件,注意保存文件名必须带有".xlsx"后缀
wb.save('example_new.xlsx')
2. XlsxWriter库
2.1 安装XlsxWriter库
XlsxWriter
也是一个专门用于操作Excel文件的Python库,与Openpyxl的功能相似,但是在性能方面较为优秀。安装方式:
pip install xlsxwriter
2.2 写入Excel文件
使用XlsxWriter库创建Excel文件的步骤大致与Openpyxl类似,只是在具体操作上有所不同。
以下是创建一个新的Excel文件,增加一个名为“Sheet1”的工作表,并向其中写入一行数据。
# 导入XlsxWriter库
import xlsxwriter
# 创建新的Excel文件
wb = xlsxwriter.Workbook('example_new.xlsx')
# 添加名为“Sheet1”的工作表
sheet = wb.add_worksheet('Sheet1')
# 写入数据
sheet.write('A1', 'ID')
sheet.write('B1', 'Name')
sheet.write('C1', 'Age')
# 保存文件
wb.close()
2.3 创建图表
除了创建工作表,XlsxWriter还可以创建各种类型的图表,包括饼图、条形图、散点图等等。
以下是创建一个简单的饼图的示例代码:
# 导入XlsxWriter库
import xlsxwriter
# 创建新的Excel文件
wb = xlsxwriter.Workbook('example_chart.xlsx')
# 添加名为“Sheet1”的工作表
sheet = wb.add_worksheet('Sheet1')
# 写入数据
sheet.write('A1', 'Apples')
sheet.write('A2', 'Bananas')
sheet.write('A3', 'Oranges')
sheet.write('B1', 10)
sheet.write('B2', 20)
sheet.write('B3', 30)
# 创建饼图对象
chart = wb.add_chart({'type': 'pie'})
# 设置图表参数
chart.add_series({
'name': 'Fruit sales data',
'categories': '=Sheet1!$A$1:$A$3',
'values': '=Sheet1!$B$1:$B$3',
'data_labels': {'value': True}
})
# 将图表插入到工作表B4单元格
sheet.insert_chart('B4', chart)
# 保存文件
wb.close()
以上就是Openpyxl和XlsxWriter库的一些基本使用方法,希望能够对你的学习和工作有所帮助。