Python遇上Excel,这20个常用操作也可以轻松操作

Python遇上Excel,这20个常用操作也可以轻松操作

Excel作为一款常见的办公软件,无论是在日常工作中还是在数据分析等领域中都有着广泛的应用。而对于Python开发者来讲,Excel也不再是一个遥远的存在。Python和Excel的结合,可以让我们更加灵活地处理表格数据。本文将介绍20个常用的Python操作Excel的方法,让你也可以轻松应对Excel表格处理的需求。

1. 安装openpyxl库

在Python中操作Excel表格,需要用到openpyxl库。如果你还没有安装该库,可以通过以下命令进行安装:

!pip install openpyxl

2. 打开Excel文件

要操作Excel表格,首先需要打开Excel文件。可以使用openpyxl库中的load_workbook()函数来打开Excel文件,如下所示:

from openpyxl import load_workbook

# 打开一个Excel文件

wb = load_workbook('example.xlsx')

其中,'example.xlsx'为你要打开的Excel文件名。

3. 获取单元格数据

从Excel表格中获取单元格数据,可以使用openpyxl库中的cell()函数。如下所示,获取单元格A1中的数据:

# 获取单元格A1中的数据

sheet = wb['Sheet1']

cell = sheet.cell(row=1, column=1)

print(cell.value)

4. 修改单元格数据

修改Excel表格中的单元格数据,可以使用openpyxl库中的cell()函数。如下所示,将A1单元格中的数据修改为'Hello World!':

# 将A1单元格中的数据修改为'Hello World!'

sheet = wb['Sheet1']

cell = sheet.cell(row=1, column=1)

cell.value = 'Hello World!'

wb.save('example.xlsx')

5. 获取行数据

要获取Excel表格中的一行数据,可以使用openpyxl库中的iter_rows()函数。如下所示,获取第2行中的所有数据:

# 获取第2行中的所有数据

sheet = wb['Sheet1']

for row in sheet.iter_rows(min_row=2, max_row=2):

for cell in row:

print(cell.value, end=' ')

print() # 换行

6. 获取列数据

要获取Excel表格中的一列数据,可以使用openpyxl库中的iter_cols()函数。如下所示,获取第2列中的所有数据:

# 获取第2列中的所有数据

sheet = wb['Sheet1']

for col in sheet.iter_cols(min_col=2, max_col=2):

for cell in col:

print(cell.value, end=' ')

print() # 换行

7. 获取单元格范围数据

要获取Excel表格中的一个范围数据,可以使用openpyxl库中的iter_rows()和iter_cols()函数联合使用。如下所示,获取B2:D4单元格范围内的所有数据:

# 获取B2:D4单元格范围内的所有数据

sheet = wb['Sheet1']

for row in sheet.iter_rows(min_row=2, max_row=4, min_col=2, max_col=4):

for cell in row:

print(cell.value, end=' ')

print() # 换行

8. 插入行数据

要在Excel表格中插入一行数据,可以使用openpyxl库中的insert_rows()函数。如下所示,在第2行插入一行数据:

# 在第2行插入一行数据

sheet = wb['Sheet1']

sheet.insert_rows(2)

sheet.cell(row=2, column=1, value='John')

sheet.cell(row=2, column=2, value=25)

wb.save('example.xlsx')

9. 插入列数据

要在Excel表格中插入一列数据,可以使用openpyxl库中的insert_cols()函数。如下所示,在第2列插入一列数据:

# 在第2列插入一列数据

sheet = wb['Sheet1']

sheet.insert_cols(2)

sheet.cell(row=1, column=2, value='Age')

sheet.cell(row=2, column=2, value=25)

sheet.cell(row=3, column=2, value=26)

sheet.cell(row=4, column=2, value=27)

wb.save('example.xlsx')

10. 删除行数据

要在Excel表格中删除一行数据,可以使用openpyxl库中的delete_rows()函数。如下所示,删除第2行的数据:

# 删除第2行的数据

sheet = wb['Sheet1']

sheet.delete_rows(2)

wb.save('example.xlsx')

11. 删除列数据

要在Excel表格中删除一列数据,可以使用openpyxl库中的delete_cols()函数。如下所示,删除第2列的数据:

# 删除第2列的数据

sheet = wb['Sheet1']

sheet.delete_cols(2)

wb.save('example.xlsx')

12. 合并单元格

要在Excel表格中合并单元格,可以使用openpyxl库中的merge_cells()函数。如下所示,合并B2:C2单元格:

# 合并B2:C2单元格

sheet = wb['Sheet1']

sheet.merge_cells('B2:C2')

wb.save('example.xlsx')

13. 拆分单元格

要在Excel表格中拆分单元格,可以使用openpyxl库中的merge_cells()函数。如下所示,拆分B2:C2单元格:

# 拆分B2:C2单元格

sheet = wb['Sheet1']

sheet.unmerge_cells('B2:C2')

wb.save('example.xlsx')

14. 设置单元格格式

要设置Excel表格中单元格的格式,可以使用openpyxl库中的Style类。如下所示,将A1单元格设置为红色和粗体:

from openpyxl.styles import Font

# 将A1单元格设置为红色和粗体

sheet = wb['Sheet1']

cell = sheet.cell(row=1, column=1)

cell.font = Font(color='FF0000', bold=True)

wb.save('example.xlsx')

15. 设置单元格边框

要设置Excel表格中单元格的边框,可以使用openpyxl库中的Style类。如下所示,将A1单元格的边框设置为红色和粗体:

from openpyxl.styles import Border, Side

# 将A1单元格的边框设置为红色和粗体

sheet = wb['Sheet1']

cell = sheet.cell(row=1, column=1)

border = Border(

left=Side(border_style='thick', color='FF0000'),

right=Side(border_style='thick', color='FF0000'),

top=Side(border_style='thick', color='FF0000'),

bottom=Side(border_style='thick', color='FF0000')

)

cell.border = border

wb.save('example.xlsx')

16. 设置单元格背景色

要设置Excel表格中单元格的背景色,可以使用openpyxl库中的Style类。如下所示,将A1单元格的背景色设置为灰色:

from openpyxl.styles import PatternFill

# 将A1单元格的背景色设置为灰色

sheet = wb['Sheet1']

cell = sheet.cell(row=1, column=1)

fill = PatternFill(

fill_type='solid',

start_color='C0C0C0',

end_color='C0C0C0'

)

cell.fill = fill

wb.save('example.xlsx')

17. 添加筛选器

在Excel表格中添加筛选器,可以使用openpyxl库中的AutoFilter类。如下所示,在第1行添加筛选器:

from openpyxl.worksheet.filters import AutoFilter

# 在第1行添加筛选器

sheet = wb['Sheet1']

sheet.auto_filter.ref = 'A1:E1'

wb.save('example.xlsx')

18. 隐藏行或列

要在Excel表格中隐藏行或列,可以设置行高或列宽为0。如下所示,隐藏第2行和第2列:

# 隐藏第2行和第2列

sheet = wb['Sheet1']

sheet.row_dimensions[2].height = 0

sheet.column_dimensions['B'].width = 0

wb.save('example.xlsx')

19. 显示所有行或列

要在Excel表格中显示所有行或列,可以设置行高或列宽为None。如下所示,显示所有行和列:

# 显示所有行和列

sheet = wb['Sheet1']

for i in range(1, sheet.max_row+1):

sheet.row_dimensions[i].height = None

for i in range(1, sheet.max_column+1):

sheet.column_dimensions[chr(65+i-1)].width = None

wb.save('example.xlsx')

20. 保存Excel文件

完成Excel表格的操作后,一定要记得保存文件。可以使用openpyxl库中的save()函数来保存文件,如下所示:

# 保存文件

wb.save('example.xlsx')

总结

Python操作Excel表格,可以让我们更加灵活地处理表格数据。本文介绍了20个常用的Python操作Excel的方法,包括打开Excel文件、获取单元格数据、修改单元格数据、获取行数据、获取列数据、获取单元格范围数据、插入行数据、插入列数据、删除行数据、删除列数据、合并单元格、拆分单元格、设置单元格格式、设置单元格边框、设置单元格背景色、添加筛选器、隐藏行或列以及显示所有行或列等操作。希望这些操作能够对你在实际工作中处理Excel表格数据有所帮助!

后端开发标签