python读取xlsx文件 第一列是名称第二列是x第三列是y 第三列是x查找x大于35 、y大于38 和剩余部分这三部分 把这三部分的每行全部信息分别写入xlsx文件的三个sheet
时间: 2024-09-19 22:03:13 浏览: 40
在Python中,你可以使用pandas库轻松地处理Excel文件(xlsx),包括读取和写入数据。首先确保安装了`pandas`, `openpyxl`以及`xlsxwriter`库,如果没有,可以使用以下命令安装:
```bash
pip install pandas openpyxl xlsxwriter
```
然后,你可以按照以下步骤操作:
1. **读取.xlsx文件**:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('input_file.xlsx', sheet_name=None) # 如果第一列是名称,需要指定sheet_name
# 获取所有工作表的数据,这里假设只有一个名为"Sheet1"的工作表
sheet1_data = df.get('Sheet1')
```
2. **筛选条件并分组到新工作表**:
```python
# 筛选满足条件的行(例如,x > 35,y > 38)
filtered_df = sheet1_data[(sheet1_data['x'] > 35) & (sheet1_data['y'] > 38)]
# 创建新的工作表,并将过滤后的数据写入
new_sheets = {}
for name, sub_df in filtered_df.items(): # 假设这里有多个sheet,仅针对名称列
new_sheets[name] = sub_df
```
3. **创建新Excel文件并写入数据**:
```python
from xlsxwriter import Workbook
# 新建一个workbook
wb = Workbook('output_file.xlsx')
# 遍历新的工作表字典
for sheet_name, df in new_sheets.items():
ws = wb.add_worksheet(sheet_name)
# 写入数据到每个sheet
df.to_excel(wb, sheet_name=sheet_name, index=False)
# 保存并关闭workbook
wb.close()
```
以上代码会创建一个新的Excel文件,其中包含满足条件的行,分别存储在名为“Sheet1”(或其他实际的sheet名称)的新工作表中。
阅读全文