python读取Excel文件,输入关键字,将含有关键字的行复制到新文件
时间: 2024-10-18 16:18:02 浏览: 35
当然可以!要使用Python读取Excel文件,输入关键字并将含有关键字的行复制到新文件,你可以使用`pandas`库和`openpyxl`库。下面是一个简单的示例代码:
首先,确保你已经安装了所需的库。你可以使用以下命令来安装它们:
```
pip install pandas openpyxl
```
接下来,按照以下步骤操作:
1. 导入所需的库:
```python
import pandas as pd
```
2. 使用`pandas`的`read_excel()`函数读取Excel文件,并将其存储在一个DataFrame对象中:
```python
file_path = 'your_excel_file.xlsx' # 替换为你的Excel文件路径
df = pd.read_excel(file_path)
```
3. 输入关键字,使用`pandas`的`isin()`函数检查每一行是否包含该关键字:
```python
keyword = 'your_keyword' # 替换为你要搜索的关键字
mask = df['Your_Column_Name'].isin([keyword]) # 将'Your_Column_Name'替换为包含关键字的列名
```
4. 使用`copy()`方法创建一个新的DataFrame对象,只包含含有关键字的行:
```python
new_df = df.copy()
```
5. 将含有关键字的行复制到新文件中:
首先,使用`openpyxl`库将Excel文件写入新的Excel文件中。这里我们使用`.xlsx`作为文件扩展名,你可以根据需要更改它。创建一个新的Excel文件,并设置其路径:
```python
new_file_path = 'new_excel_file.xlsx' # 替换为新Excel文件的路径
with pd.ExcelWriter(new_file_path, engine='openpyxl') as writer: # 使用openpyxl引擎写入新文件
new_df.to_excel(writer, sheet_name='Sheet1', index=False) # 将含有关键字的行复制到新文件中
```
完整代码如下:
```python
import pandas as pd
import openpyxl
from openpyxl import load_workbook, Workbook
from openpyxl.utils import get_column_letter
from openpyxl.writer.excel import save_virtual_workbook # 导入虚拟工作簿模块,用于将DataFrame写入新Excel文件
file_path = 'your_excel_file.xlsx' # 替换为你的Excel文件路径
keyword = 'your_keyword' # 替换为你要搜索的关键字
column_name = 'Your_Column_Name' # 将'Your_Column_Name'替换为包含关键字的列名
new_file_path = 'new_excel_file.xlsx' # 替换为新Excel文件的路径
df = pd.read_excel(file_path)
mask = df[column_name].isin([keyword]) # 检查每一行是否包含关键字,返回一个布尔掩码数组
new_df = df.copy() # 创建一个新的DataFrame对象,只包含含有关键字的行
with pd.ExcelWriter(new_file_path, engine='openpyxl') as writer: # 使用openpyxl引擎写入新文件
new_df[mask].to_excel(writer, sheet_name='Sheet1', index=False) # 将含有关键字的行复制到新文件中并写入新Excel文件
```
请确保将代码中的文件路径、关键字和列名替换为你自己的实际值。这样,你就可以使用Python读取Excel文件,输入关键字,并将含有关键字的行复制到新文件中。
阅读全文