读取table文件夹内所有的xlsx表格文件,并把xlsx表格内每个sheet的“盖尚品”文字内容替换成“盖30度尚品”,“箱尚品”内容替换成“D”
时间: 2024-11-12 15:36:12 浏览: 3
要实现这个需求,你可以使用`pandas`库来读取xlsx文件,并遍历每个sheet进行替换操作。以下是一个简单的步骤说明:
1. 导入所需的库:`os`, `pandas`以及`openpyxl`(如果`os`和`pandas`无法读取xlsx文件,可能需要安装它)。
```python
import os
import pandas as pd
from openpyxl import load_workbook
```
2. 定义替换规则的函数,这里将"盖尚品"替换成"盖30度尚品","箱尚品"替换成"D"。
```python
def replace_text(cell_value):
if "盖尚品" in cell_value:
return "盖30度尚品"
elif "箱尚品" in cell_value:
return "D"
else:
return cell_value
```
3. 遍历`table`文件夹内的所有xlsx文件,使用`load_workbook`打开并获取workbook,然后获取每个sheet的名称并读取数据。
```python
# 获取当前目录下table文件夹路径
folder_path = 'table'
# 循环读取文件夹内的所有xlsx文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'):
file_path = os.path.join(folder_path, filename)
# 加载excel文件
wb = load_workbook(file_path)
for sheet_name in wb.sheetnames:
# 读取sheet的数据
ws = wb[sheet_name]
data = pd.DataFrame(ws.values, columns=ws.column_dimensions.keys())
# 替换文本
data['column_name'] = data['column_name'].apply(replace_text) # 假设你要替换的列名为'column_name'
# 将修改后的数据写回excel
with pd.ExcelWriter(file_path, engine='openpyxl') as writer:
data.to_excel(writer, sheet_name=sheet_name, index=False)
wb.save(file_path) # 保存更改
```
这里假设你需要替换的是名为`column_name`的列。如果你知道具体的列名,请替换`'column_name'`。如果没有指定列名,那么你需要遍历每一行数据查找符合条件的单元格。
阅读全文