下面我将详细讲解Python读取Excel指定列数据并写入到新的Excel方法的完整实例教程。
准备工作
在开始之前,我们需要先安装一些必要的包:
- pandas:数据分析库,提供快速、灵活且富有表现力的数据结构,目的是为了让数据的清洗、转换、分析工作快速、简单、有表现力。
- openpyxl:操作Excel的一个Python库,可以读取和写入Excel文档。
可以使用pip安装:
pip install pandas openpyxl
实现步骤
- 导入必要的库:
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
- 读取需要处理的Excel文件:
data = pd.read_excel('data.xlsx')
这里需要注意,我们需要将需要处理的Excel文件保存在代码当前目录下。
- 从
data
中将需要的列选取出来:
例如我们只需要第一列和第三列,那么可以这样实现:
data_selected = data.iloc[:, [0, 2]]
这里的iloc
函数可以根据传入的参数选择具体的行和列,这里的逗号前面表示要选择所有的行,逗号后面的表示要选取第0列和第2列,注意这里的列数要从0开始计算。
- 将选取的数据写入新的Excel文件中:
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(data_selected, index=False, header=True):
ws.append(r)
wb.save('data_selected.xlsx')
这里我们使用了openpyxl
库来创建新的Excel文件和写入数据。首先创建了一个新的工作薄 wb
,并且获取到了工作薄的活动工作表 ws
,然后通过dataframe_to_rows
函数将data_selected
转化为一个可写入Excel的迭代器,并添加到新的工作表中。最后通过wb.save
将新的Excel文件保存到当前目录下,文件名为 data_selected.xlsx
。
示例说明
下面通过两个示例说明如何将Excel数据进行处理。
示例一:选取某列数据
假设我们有一个Excel文件,其中包含学生的名字、年龄、成绩信息,我们要从这个Excel中选取所有学生的年龄信息,然后将这些数据保存到一个新的Excel中。
具体实现步骤如下:
- 首先打开Excel文件,然后选取需要处理的数据列,例如这里我们只需要选取年龄这一列数据。
- 将选取的年龄数据进行处理,然后保存到新的Excel文件中。
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 读取Excel数据文件
data = pd.read_excel('student_data.xlsx')
# 选取年龄这一列数据
age = data.iloc[:,1]
# 将数据保存到新的Excel文件中
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(age, index=False, header=True):
ws.append(r)
wb.save('age.xlsx')
在这个示例中,我们首先读取了 student_data.xlsx
文件,然后使用 iloc
函数来选取年龄列,最后将选取的数据写入到了 age.xlsx
文件中。
示例二:选取多列数据
现在我们要选取多列数据,在这个示例中,我们只需要选取学生的姓名和成绩信息,然后将这些数据保存到一个新的Excel中。
具体实现步骤如下:
- 首先打开Excel文件,然后选取需要处理的数据列,例如这里我们需要选取姓名和成绩这两列数据。
- 将选取的姓名和成绩数据进行处理,然后保存到新的Excel文件中。
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 读取Excel数据文件
data = pd.read_excel('student_data.xlsx')
# 选取姓名和成绩这两列数据
data_selected = data.iloc[:, [0, 2]]
# 将数据保存到新的Excel文件中
wb = Workbook()
ws = wb.active
for r in dataframe_to_rows(data_selected, index=False, header=True):
ws.append(r)
wb.save('name_score.xlsx')
在这个示例中,我们首先读取了 student_data.xlsx
文件,然后使用 iloc
函数来选取姓名和成绩两列,最后将选取的数据写入到了 name_score.xlsx
文件中。
以上就是Python读取Excel指定列数据并写入到新的Excel方法的完整实例教程,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读取excel指定列数据并写入到新的excel方法 - Python技术站