匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

【Python】 用Python处理Excel表格-包教包会!

【Python】 用Python处理Excel表格-包教包会!

Excel作为一种常见的办公软件,其功能和应用领域极为广泛。而在日常的工作中,我们也经常接触到需要处理Excel表格的情况。那么,如何用Python处理Excel表格呢?

本文将会详细介绍如何使用Python读取、写入、修改和操作Excel表格,包教包会!

一、读取Excel表格

使用Python读取Excel表格非常方便,只需要安装xlrd库即可。下面是读取Excel表格的示例代码:

```python
import xlrd

# 打开Excel文件,获取工作表
excel_file = xlrd.open_workbook('example.xlsx')
sheet = excel_file.sheet_by_index(0)

# 获取行数和列数
num_rows = sheet.nrows
num_cols = sheet.ncols

# 读取数据
for row_idx in range(num_rows):
    row_data = []
    for col_idx in range(num_cols):
        cell_value = sheet.cell_value(row_idx, col_idx)
        row_data.append(cell_value)
    print(row_data)
```

通过以上代码,我们可以打开Excel表格,获取工作表,获取行数和列数,并读取表格中的数据。

二、写入Excel表格

使用Python写入Excel表格与读取类似,同样也需要安装库——xlwt库。在使用xlwt库之前,需要先创建一个Workbook对象,然后创建一个Sheet对象,并设置行列数和写入数据。

下面是写入Excel表格的示例代码:

```python
import xlwt

# 创建Workbook对象
workbook = xlwt.Workbook(encoding='utf-8')

# 创建Sheet对象,并设置行列数
sheet = workbook.add_sheet('Sheet1')
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年龄')
sheet.write(0, 2, '性别')

# 写入数据
data = [['张三', 18, '男'], ['李四', 20, '女'], ['王五', 22, '男']]
for i in range(len(data)):
    for j in range(len(data[i])):
        sheet.write(i+1, j, data[i][j])

# 保存Workbook对象
workbook.save('example.xls')
```

通过以上代码,我们可以创建Workbook对象,创建Sheet对象,并进行写入操作,最后保存Workbook对象,即可生成一个新的Excel表格。

三、修改Excel表格

使用Python修改Excel表格也非常方便,只需要先打开Excel表格,并获取Sheet对象,然后修改相应的单元格即可。

下面是修改Excel表格的示例代码:

```python
import xlrd
import xlwt
import copy

# 打开Excel文件,获取工作表
excel_file = xlrd.open_workbook('example.xls')
sheet = excel_file.sheet_by_index(0)

# 获取行数和列数
num_rows = sheet.nrows
num_cols = sheet.ncols

# 创建一个新的Workbook对象,并复制Sheet对象
new_workbook = xlwt.Workbook(encoding='utf-8')
new_sheet = copy.copy(sheet)

# 修改单元格值
new_sheet.write(1, 1, '19')
new_sheet.write(2, 2, '女')

# 将修改后的Sheet对象添加到新的Workbook对象中
new_workbook.add_sheet('Sheet1')
new_workbook.get_sheet(0).write(num_rows, num_cols, '')

for row_idx in range(num_rows):
    for col_idx in range(num_cols):
        new_workbook.get_sheet(0).write(row_idx, col_idx, new_sheet.cell_value(row_idx, col_idx))

# 保存Workbook对象
new_workbook.save('new_example.xls')
```

通过以上代码,我们可以打开Excel表格,获取Sheet对象,复制Sheet对象,并修改相应的单元格值。最后将修改后的Sheet对象添加到新的Workbook对象中,并保存Workbook对象,即可生成一个新的Excel表格。

四、操作Excel表格

除读取、写入、修改Excel表格外,Python还支持更多的操作Excel表格,如表格合并、拆分、对齐、排序等。

接下来,我们来介绍如何使用Python合并Excel表格:

```python
import xlrd
import xlwt
from xlutils.copy import copy

# 打开Excel文件,获取工作表
excel_file1 = xlrd.open_workbook('example1.xls')
sheet1 = excel_file1.sheet_by_index(0)

excel_file2 = xlrd.open_workbook('example2.xls')
sheet2 = excel_file2.sheet_by_index(0)

# 获取行数和列数
num_rows1 = sheet1.nrows
num_cols1 = sheet1.ncols

num_rows2 = sheet2.nrows
num_cols2 = sheet2.ncols

# 创建一个新的Workbook对象,并复制Sheet对象
new_workbook = xlwt.Workbook(encoding='utf-8')
new_sheet = new_workbook.add_sheet('Sheet1')

# 合并表格
for row_idx in range(num_rows1):
    for col_idx in range(num_cols1):
        new_sheet.write(row_idx, col_idx, sheet1.cell_value(row_idx, col_idx))

for row_idx in range(num_rows2):
    for col_idx in range(num_cols2):
        new_sheet.write(row_idx+num_rows1, col_idx, sheet2.cell_value(row_idx, col_idx))

# 保存Workbook对象
new_workbook.save('merge_example.xls')
```

通过以上代码,我们可以打开两个Excel表格,获取Sheet对象,创建一个新的Workbook对象,并复制Sheet对象。然后将两个表格逐行逐列遍历,将表格中的数据写入到新的Workbook对象中。最后保存Workbook对象,即可合并两个Excel表格。

五、总结

Python是一种功能强大的编程语言,其支持读取、写入、修改和操作Excel表格,非常方便。在日常的工作中,我们可以利用Python来处理Excel表格,提高工作效率。本文对于如何使用Python处理Excel表格进行了详细的介绍,希望对大家有所帮助。