欢迎访问宙启技术站
智能推送

Python如何读取和写入Excel文件

发布时间:2024-01-09 07:01:15

Python中有多种方法可以读取和写入Excel文件,其中最常用的是使用第三方库,如xlrdopenpyxlpandas等。下面将分别介绍这三种方法,并提供相应的使用示例。

1. 使用xlrd库读取Excel文件

xlrd是Python中一个用于读取Excel文件的库,支持.xls.xlsx文件格式。以下是读取Excel文件的基本步骤:

安装xlrd库:在命令行中运行pip install xlrd进行安装。

导入xlrd库:在Python脚本中导入xlrd库以便使用其中的函数。

打开Excel文件:使用xlrd.open_workbook()函数打开要读取的Excel文件。

读取工作表:使用book.sheet_by_index()book.sheet_by_name()函数选择要读取的工作表。

读取数据:使用工作表对象的cell_value()函数读取单元格中的数据。

以下是一个简单的示例,演示如何读取Excel文件并打印其中的数据:

   import xlrd

   # 打开Excel文件
   workbook = xlrd.open_workbook('data.xlsx')

   # 选择要读取的工作表
   sheet = workbook.sheet_by_index(0)

   # 读取指定单元格的数据
   cell_value = sheet.cell_value(0, 0)

   # 打印数据
   print(cell_value)
   

2. 使用openpyxl库读写Excel文件

openpyxl是一个针对Excel文件的读写库,支持.xlsx文件格式。以下是使用openpyxl库读写Excel文件的基本步骤:

安装openpyxl库:在命令行中运行pip install openpyxl进行安装。

导入openpyxl库:在Python脚本中导入openpyxl库以便使用其中的函数。

打开Excel文件:使用openpyxl.load_workbook()函数打开要读写的Excel文件。

读取数据:使用工作表对象的索引或名称选择要读取的工作表,并使用cell.value属性读取单元格中的数据。

写入数据:使用工作表对象的cell.value属性写入数据到指定的单元格。

以下是一个简单的示例,演示如何使用openpyxl库读写Excel文件:

   import openpyxl

   # 打开Excel文件
   workbook = openpyxl.load_workbook('data.xlsx')

   # 选择要读取的工作表
   sheet = workbook['Sheet1']

   # 读取指定单元格的数据
   cell_value = sheet['A1'].value

   # 打印数据
   print(cell_value)

   # 写入数据到指定单元格
   sheet['B1'].value = 'Hello, World!'

   # 保存修改后的Excel文件
   workbook.save('data.xlsx')
   

3. 使用pandas库读写Excel文件

pandas库是Python中一个非常强大的数据分析库,提供了读写Excel文件的功能。以下是使用pandas库读写Excel文件的基本步骤:

安装pandas库:在命令行中运行pip install pandas进行安装。

导入pandas库:在Python脚本中导入pandas库以便使用其中的函数。

读取Excel文件:使用pandas.read_excel()函数读取Excel文件,并将数据保存为一个DataFrame对象。

写入Excel文件:使用DataFrame对象的to_excel()函数将数据写入到Excel文件中。

以下是一个简单的示例,演示如何使用pandas库读写Excel文件:

   import pandas as pd

   # 读取Excel文件
   df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

   # 打印数据
   print(df)

   # 写入数据到Excel文件
   df.to_excel('data_modified.xlsx', sheet_name='Sheet1', index=False)
   

在上面的示例中,pd.read_excel()函数从Excel文件中读取数据,并将其保存为一个DataFrame对象。然后,df.to_excel()函数将DataFrame中的数据写入到Excel文件中。