python实现一个函数,首先对excel进行读取,然后删除某列中不包含关键字所在行,最后,返回这个excel
时间: 2024-03-25 08:37:46 浏览: 54
好的,可以结合前面两个问题的代码,稍微修改一下,实现这个函数。下面是示例代码:
```python
import pandas as pd
def delete_rows_without_keyword_in_column_and_return_excel(file_path, column_name, keyword):
# 读取excel文件
df = pd.read_excel(file_path)
# 判断指定列中每行是否包含关键字
mask = df[column_name].apply(lambda cell: keyword in str(cell))
# 删除不包含关键字的行
df = df[mask]
# 将处理后的数据写入excel文件
writer = pd.ExcelWriter(file_path)
df.to_excel(writer, index=False)
writer.save()
# 返回处理后的excel文件
return pd.read_excel(file_path)
```
这个函数接收三个参数,file_path表示要读取的excel文件路径,column_name表示要判断的列名,keyword表示要保留的关键字。函数返回一个删除了指定列中不包含关键字的行的pandas DataFrame对象,并将这个DataFrame对象写入原excel文件并返回。
使用示例:
```python
df = delete_rows_without_keyword_in_column_and_return_excel('example.xlsx', '列名', '关键字')
print(df)
```
注意:这个函数默认使用第一个sheet中的数据,如果需要读取其他sheet或者其他格式的文件,需要根据具体情况进行修改。另外,这个函数会修改原excel文件,如果需要保留原文件,需要先备份。
阅读全文