Python使用xlrd和xlwt批量读写excel文件的示例代码

  • Post category:Python

下面我将为大家详细讲解“Python使用xlrd和xlwt批量读写excel文件的示例代码”的完整实例教程。

1. 安装库

首先,我们需要安装Python中用于读写excel的库:xlrd和xlwt。在命令行中输入以下命令:

pip install xlrd
pip install xlwt

2. 读取excel文件的代码示例

接下来,我们将介绍如何使用xlrd库来读取excel文件。假设我们要读取一个名为”test.xls”的excel文件,其中包含一个名为”Sheet1″的工作表,该表格的第一行是列名,之后每一行是数据。我们可以按照以下代码编写读取excel文件的函数:

import xlrd

def read_excel_file(file_name):
    # 打开工作簿
    work_book = xlrd.open_workbook(file_name)

    # 获取第一个工作表
    sheet = work_book.sheet_by_index(0)

    # 获取列名
    column_names = sheet.row_values(0)

    # 获取数据
    data = []
    for row_num in range(1, sheet.nrows):
        row_data = sheet.row_values(row_num)
        data.append(dict(zip(column_names, row_data)))

    return data

然后,我们可以调用该函数来读取excel文件并将结果存储在一个列表中:

file_name = 'test.xls'
data = read_excel_file(file_name)
print(data)

3. 写入excel文件的代码示例

现在,我们将介绍如何使用xlwt库将数据写入excel文件中。假设我们有一个列表data,其中每个元素都是一个字典,表示一个包含列和对应值的行。我们可以按照以下代码编写写入excel文件的函数:

import xlwt

def write_excel_file(file_name, data):
    # 创建工作簿和工作表
    work_book = xlwt.Workbook(encoding='utf-8')
    sheet = work_book.add_sheet('Sheet1')

    # 写入列名
    column_names = list(data[0].keys())
    for col_num, column_name in enumerate(column_names):
        sheet.write(0, col_num, column_name)

    # 写入数据
    for row_num, row_data in enumerate(data):
        for col_num, col_data in enumerate(row_data.values()):
            sheet.write(row_num+1, col_num, col_data)

    # 保存工作簿
    work_book.save(file_name)

然后,我们可以调用该函数来将数据写入excel文件:

file_name = 'output.xls'
write_excel_file(file_name, data)

这样就将数据成功写入了excel文件。以上就是Python使用xlrd和xlwt批量读写excel文件的示例代码的完整实例教程。