python读写excel数据–pandas详解

  • Post category:Python

这里是“Python读写Excel数据–Pandas详解”的完整实例教程。

1. 准备工作

在开始之前,请先确保你已经安装好了以下必要的Python库:

  • pandas
  • xlrd
  • openpyxl

其中,pandas是必须的,而xlrd和openpyxl分别用于读取xls和xlsx格式的Excel文件,你需要根据自己实际的需求选择安装。

2. 读取Excel数据

我们这里以读取xlsx格式的Excel文件为例:

import pandas as pd

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

# 打印数据
print(df.head())

这里的read_excel函数用于读取Excel文件,head函数可以打印前几行数据。

假设读取到的Excel文件长这样:

姓名 电话 邮箱
张三 12345678901 123@abc
李四 23456789012 234@abc
王五 34567890123 345@abc

那么可以看到我们得到的数据长这样:

姓名 电话 邮箱
0 张三 12345678901 123@abc
1 李四 23456789012 234@abc
2 王五 34567890123 345@abc

这里的行索引是自动生成的,可以通过以下代码将行索引修改为从1开始:

# 修改行索引
df.index = df.index + 1

3. 写入Excel数据

读取Excel数据是一回事,写入Excel数据则是另一回事。我们可以将处理后的数据写回到Excel文件中:

# 修改数据
df['电话'] = df['电话'].apply(lambda x: str(x)[:3] + '-' + str(x)[3:7] + '-' + str(x)[7:])

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

这里的apply函数用于对数据进行处理,我们将电话号码进行了格式化,将12345678901格式化为了123-4567-8901的形式。to_excel函数用于将数据写入到Excel文件中,需要指定写入的文件名以及是否将行索引写入。

另外一个示例:如果要往一个已经存在的Excel文件中写入数据,可以使用ExcelWriter类:

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

# 修改数据
df['电话'] = df['电话'].apply(lambda x: str(x)[:3] + '-' + str(x)[3:7] + '-' + str(x)[7:])

# 将数据写入到Excel文件
writer = pd.ExcelWriter('data.xlsx')
df.to_excel(writer, index=False, sheet_name='sheet1')
writer.save()

这里的ExcelWriter类可以指定写入的Excel文件名以及写入的工作表名称,to_excel函数用于将数据写入到工作表中,需要指定工作表名称及是否将行索引写入,最后通过save方法将数据保存到Excel文件中。

总结

以上就是Python读写Excel数据的完整实例教程,包括读取和写入两个部分。本教程介绍了如何使用pandas库来读取和写入Excel文件,以及一些常用的处理数据的方法。当然,在实际应用中,你会遇到更加复杂的数据处理需求,但是只要掌握了基础的读写方法和数据处理技巧,相信你可以轻松应对各种情况。