如何编写Python脚本,以便遍历A文件夹中所有.xlsx和.csv格式的工作簿,如果找到某个工作簿内的A1单元格值为'sku',则将其重新命名为' sale'?
时间: 2024-10-19 08:14:15 浏览: 35
Python操作Excel工作簿(\*.xlsx)
5星 · 资源好评率100%
你可以使用Python的`os`和`pandas`库来完成这个任务。首先确保已经安装了这两个库,如果没有可以使用pip安装:
```bash
pip install pandas
```
下面是一个简单的Python脚本示例,它会遍历指定目录下的`.xlsx`和`.csv`文件,并检查每个工作簿的第一个单元格是否包含'sku',如果是,就更改文件名。
```python
import os
import pandas as pd
# 指定要遍历的文件夹路径
folder_path = "A文件夹"
# 遍历文件夹中的.xlsx和.csv文件
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(('.xlsx', '.csv')): # 检查文件扩展名
file_path = os.path.join(root, file)
# 加载数据
try:
df = pd.read_excel(file_path) if file.endswith('.xlsx') else pd.read_csv(file_path)
# 检查A1单元格的内容
if isinstance(df.iloc[0, 0], str) and 'sku' in df.iloc[0, 0].lower():
new_name = file.replace('sku', 'sale')
# 如果需要,将文件改名并保存
old_file_path = os.path.join(root, file)
new_file_path = os.path.join(root, new_name)
df.to_excel(new_file_path, index=False, mode='a') if file.endswith('.xlsx') else df.to_csv(new_file_path, index=False)
# 删除旧文件,但请谨慎操作,因为这会直接覆盖文件
# os.remove(old_file_path)
except Exception as e:
print(f"处理 {file} 出错:{e}")
阅读全文