Python利用pandas与xlsxwriter进行Excel文件读写详解

季宁
季宁
发布时间:2026-10-13 | 3人浏览过
原创

本文详细介绍如何在Python中结合使用pandas和xlsxwriter库来处理.xlsx文件。通过pandas实现读取指定行数、特定行列数据、获取行列索引及将数据转换为字典;利用xlsxwriter创建新工作簿、写入单元格、行和列数据。涵盖从读取现有Excel到生成新Excel的完整操作流程,适用于需要自动化处理Excel数据场景的开发人员。

Python读写Excel文件概述

在Python开发中,经常需要处理Excel文件。本文将演示如何使用pandas和xlsxwriter这两个库来读取和写入.xlsx格式的文件。

假设我们有一个现有的Excel文件,其内容结构如下所示:

使用pandas读取Excel数据

首先介绍如何读取Excel文件中的数据。


# coding: utf-8
import pandas as pd
# 1. 读取前n行所有数据
df = pd.read_excel('school.xlsx')#读取xlsx中第一个sheet
data1 = df.head(7)  # 读取前7行的所有数据,dataFrame结构
data2 = df.values  #list形式,读取表格所有数据
print("获取到所有的值:\n{0}".format(data1)) #格式化输出
print("获取到所有的值:\n{0}".format(data2)) #格式化输出

接着演示如何定位并读取特定的行和列数据。


# coding: utf-8
import pandas as pd
# 2. 读取特定行,特定列
df = pd.read_excel('school.xlsx') #读取xlsx中第一个sheet
data1 = df.ix[0].values   #读取第一行所有数据,0表示第一行,不包含表头
data2 = df.ix[1,1]  #读取指定行列位置数据
data3 = df.ix[[1,2]].values  #读取指定多行
data4 = df.ix[:,[0]].values  #读取指定列的所有行
#data4 = df[u'class'].values  #同上
data5 = df.ix[:,[u'class',u'name']].values  #读取指定键值列的所有行
print("数据:\n{0}".format(data1))
print("数据:\n{0}".format(data2))
print("数据:\n{0}".format(data3))
print("数据:\n{0}".format(data4))
print("数据:\n{0}".format(data5))

然后讲解如何获取Excel文件的行号列表以及所有列的名称。


# coding: utf-8
import pandas as pd
# 3. 获取xlsx文件行号,所有列名称
df = pd.read_excel('school.xlsx') #读取xlsx中第一个sheet
print("输出行号列表{}".format(df.index.values))  # 获取xlsx文件的所有行号
print("输出列标题{}".format(df.columns.values))  #所有列名称

随后展示如何将读取到的Excel数据转换为Python字典格式,以便进一步处理。


# coding: utf-8
import pandas as pd
# 4. 读取xlsx数据转换为字典
df = pd.read_excel('school.xlsx') #读取xlsx中第一个sheet
test_data=[]
for i in df.index.values:#获取行号的索引,并对其进行遍历:
  #根据i来获取每一行指定的数据 并利用to_dict转成字典
  row_data=df.ix[i,['id','name','class','data','stature']].to_dict()
  test_data.append(row_data)
print("最终获取到的数据是:{0}".format(test_data))

使用xlsxwriter写入Excel文件

接下来介绍如何使用xlsxwriter库来创建并写入新的Excel文件。


#coding: utf-8
import xlsxwriter
# 创建工作簿
file_name = "first_book.xlsx"
workbook = xlsxwriter.Workbook(file_name)
# 创建工作表
worksheet = workbook.add_worksheet('sheet1')
# 写单元格
worksheet.write(0, 0, 'id')
worksheet.write(0,1, 'name')
worksheet.write(0,2, 'class')
worksheet.write(0,3, 'data')
# 写行
worksheet.write_row(1, 0, [1, 2, 3])
# 写列,其中列D需要大写
worksheet.write_column('D2', ['a', 'b', 'c'])
# 关闭工作簿
workbook.close()

执行上述写入操作后,生成的Excel文件内容如下所示:

总结

通过对上述步骤的总结,我们可以清晰地掌握利用Python进行Excel文件读写的基本方法。

以上就是本文的全部内容,希望这些示例能对大家在Python学习或实际工作中的Excel处理有所帮助。感谢支持,如需了解更多相关技术细节,请查阅相关链接。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表