pandas对同一excel中的多个表执行筛选并输出
时间: 2023-05-11 18:07:04 浏览: 120
可以使用 pandas 的 read_excel 函数读取 excel 文件,然后使用 pandas 的 filter 函数对多个表进行筛选,最后使用 pandas 的 to_excel 函数输出筛选后的结果到新的 excel 文件中。具体代码如下:
```python
import pandas as pd
# 读取 excel 文件
excel_file = pd.ExcelFile('your_excel_file.xlsx')
# 遍历 excel 文件中的每个表格
for sheet_name in excel_file.sheet_names:
# 读取表格数据
df = pd.read_excel(excel_file, sheet_name=sheet_name)
# 筛选数据
filtered_df = df.filter(['column1', 'column2', ...])
# 输出筛选后的结果到新的 excel 文件中
filtered_df.to_excel('filtered_' + sheet_name + '.xlsx', index=False)
```
其中,'column1', 'column2', ... 是需要筛选的列名,可以根据实际情况修改。
相关问题
pandas对同一excel中的多个表执行筛选并输出到一个excel文件
可以使用pandas的read_excel函数读取excel文件,然后使用pandas的筛选函数对多个表进行筛选,最后使用pandas的to_excel函数将结果输出到一个excel文件中。以下是示例代码:
```python
import pandas as pd
# 读取excel文件
excel_file = pd.ExcelFile('example.xlsx')
# 遍历所有表格
for sheet_name in excel_file.sheet_names:
# 读取表格数据
df = pd.read_excel(excel_file, sheet_name=sheet_name)
# 筛选数据
filtered_df = df[df['column_name'] == 'value']
# 输出到同一个excel文件中
with pd.ExcelWriter('output.xlsx', mode='a') as writer:
filtered_df.to_excel(writer, sheet_name=sheet_name)
```
注意,上述代码中的`column_name`和`value`需要替换为实际的列名和筛选条件。另外,`mode='a'`表示以追加模式打开输出文件,如果需要覆盖原文件,可以改为`mode='w'`。
用python同一条件筛选多张工作表的列并保存
你可以使用 `pandas` 库来筛选多张工作表的列。以下是一个示例代码:
```python
import pandas as pd
# 定义筛选条件
conditions = {
'Sheet1': ['col1', 'col2'],
'Sheet2': ['col3', 'col4'],
'Sheet3': ['col5', 'col6']
}
# 读取 Excel 文件
excel_file = pd.read_excel('your_excel_file.xlsx', sheet_name=list(conditions.keys()))
# 筛选列并保存到新的 Excel 文件
writer = pd.ExcelWriter('new_excel_file.xlsx')
for sheet_name in excel_file.keys():
sheet_data = excel_file[sheet_name][conditions[sheet_name]]
sheet_data.to_excel(writer, sheet_name=sheet_name)
writer.save()
```
在上面的代码中,首先定义了一个字典 `conditions`,其中包含了每个工作表需要筛选的列。然后使用 `pandas` 的 `read_excel` 函数读取 Excel 文件,并指定要读取的工作表名字。接着,遍历每个工作表,根据 `conditions` 中的筛选条件筛选出对应的列,最后使用 `to_excel` 方法将结果保存到新的 Excel 文件中。
阅读全文