读取excel表获取了df,现在对df进行过滤,现在我想知道怎么知道过滤后的数据在excel表中每一条数据具体在excel中是第几行
时间: 2024-04-13 13:30:12 浏览: 15
你可以使用 pandas 库中的 `to_excel()` 方法将过滤后的 DataFrame 对象重新写入到一个新的 Excel 文件中,然后在 Excel 文件中查找每一条数据所在的行数。
以下是一个示例代码:
```python
import pandas as pd
# 假设你已经完成了对 df 的过滤操作
filtered_df = df[df['某列'] == '某值']
# 将过滤后的数据写入新的 Excel 文件
filtered_df.to_excel('filtered_data.xlsx', index=False)
# 读取新的 Excel 文件
new_df = pd.read_excel('filtered_data.xlsx')
# 遍历每一条数据并查找所在行数
for index, row in new_df.iterrows():
# 获取当前行的索引值(行数)
row_number = index + 2 # 因为 Excel 中的行数从1开始,而 DataFrame 的索引从0开始
print(f"第{row_number}行数据:{row}")
```
在上述代码中,我们首先将过滤后的 DataFrame 对象 `filtered_df` 写入到名为 `filtered_data.xlsx` 的 Excel 文件中(使用 `to_excel()` 方法)。然后,我们再次读取该 Excel 文件,此时得到的是包含过滤后数据的新 DataFrame 对象 `new_df`。接下来,我们使用 `iterrows()` 方法遍历 `new_df` 中的每一行数据,并通过索引值计算出每一条数据所在的行数。
请注意,上述代码中的 `某列` 和 `某值` 需要替换为你实际的列名和过滤条件。另外,生成的新 Excel 文件名和文件路径也可以根据你的需求进行修改。