这里为你详细讲解用 Python 提取 Excel 表格中特定数据并写入新表格的方法:
1. 准备工作
首先,我们需要安装 pandas
和 openpyxl
这两个库来帮助我们操作 Excel 表格。你可以打开命令行输入以下命令安装这两个库:
pip install pandas openpyxl
然后我们需要有一个 Excel 文件作为我们的操作对象。在本例中,我们假设我们有一个名为 test.xlsx
的 Excel 文件,需要从中提取数据。
2. 数据提取
接下来,我们需要根据 Excel 表格的具体格式,使用 pandas
去读取其中的数据。假设我们需要提取表格中命名为 'Sheet1'
的工作表中第二列(B 列)中小于等于 10 的数据。你可以用以下代码实现:
import pandas as pd
# 读取 Excel 文件
data = pd.read_excel('test.xlsx', sheet_name='Sheet1')
# 选择第二列中小于等于 10 的数据并打印
result = data[data['B'] <= 10]
print(result)
在这个例子中,我们使用了 pd.read_excel()
方法读取 Excel 表格中 Sheet1
工作表的数据,并将其存储在 data
中。然后我们使用条件筛选语句 data['B'] <= 10
选择了第二列中小于等于 10 的数据,将其存储在 result
中,并使用 print()
函数输出结果。
3. 数据写入
接下来,我们需要将筛选到的数据写入一个新的 Excel 文件中。我们可以使用 openpyxl
中的 Workbook
和 Worksheet
类来新建一个 Excel 文件,并使用 pandas
中的 to_excel()
方法将数据写入新表格。你可以用以下代码实现:
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 创建新 Excel 文件
wb = Workbook()
ws = wb.active
# 将数据写入工作表
for row in dataframe_to_rows(result, index=False, header=True):
ws.append(row)
# 保存修改后的 Excel 文件
wb.save('output.xlsx')
在这个例子中,我们新建了一个 Workbook
对象,将其激活,然后使用 dataframe_to_rows()
方法将 Pandas 数据框对象 result
转换为行列表,并将其添加到新工作表 ws
中。最后使用 wb.save()
方法将修改后的 Excel 文件保存到本地,命名为 output.xlsx
。
4. 示例说明
假设我们有一个名为 test.xlsx
的 Excel 文件,其中 Sheet1
工作表的数据如下:
A | B |
---|---|
Cat | 7 |
Dog | 15 |
Bird | 3 |
Fish | 9 |
我们使用上面提到的方法,筛选出 Sheet1 中第二列中小于等于 10 的数据,得到以下结果:
A | B |
---|---|
Cat | 7 |
Bird | 3 |
Fish | 9 |
最后我们使用 to_excel()
方法将结果写入到新的 Excel 文件 output.xlsx
中。
另外一个示例,假设我们需要提取 Excel 文件中多个工作表中命名为 'Total'
的表格中所有数值大于 100 的数据,并将其写入到新的 Excel 文件中。你可以用以下代码实现:
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
# 读取 Excel 文件,并提取所有工作表中命名为 'Total' 的工作表的数据
data = pd.read_excel('test.xlsx', sheet_name='Total', header=None)
# 使用条件筛选,选择大于 100 的数值
result = data[data > 100].dropna(how='all').dropna(how='all', axis=1)
# 创建新 Excel 文件,并将筛选后的数据写入工作表
wb = Workbook()
ws = wb.active
for row in dataframe_to_rows(result, index=False, header=False):
ws.append(row)
# 保存修改后的 Excel 文件
wb.save('output.xlsx')
在这个例子中,我们使用了 pd.read_excel()
方法读取 Excel 表格中所有工作表中命名为 'Total'
的工作表的数据,并将其存储在 data
中。然后我们使用条件筛选语句选择大于 100 的数值,将其存储在 result
中,并使用了 dropna()
方法将数据框中的所有 NaN
值删除。最后我们使用 to_excel()
方法将结果写入到新的 Excel 文件 output.xlsx
中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python对Excel中的特定数据提取并写入新表的方法 - Python技术站