读取table文件夹内所有的xlsx表格文件,并把表格内“A”内容替换成“B”,“C”内容替换成“D”,然后把“Q”列复制插入在“B”列后,把“W”列复制插入在“D”后,保存文件
时间: 2024-11-13 15:39:38 浏览: 11
xsl.rar_excel 数组 java_java xsl_java 表格_为什么读不了XSL文件
要实现这个功能,你可以使用pandas库来处理Excel文件。首先确保已经安装了`openpyxl`和`pandas`库。如果没有,可以通过以下命令安装:
```bash
pip install openpyxl pandas
```
接下来,我们可以编写一个Python脚本来完成这些操作:
```python
import os
import pandas as pd
# 获取table文件夹内的所有xlsx文件
folder_path = "table"
xlsx_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
for file_name in xlsx_files:
# 读取Excel文件
excel_file = pd.ExcelFile(os.path.join(folder_path, file_name))
# 创建一个字典,用于存储替换后的数据
data_dict = {}
for sheet_name in excel_file.sheet_names:
df = excel_file.parse(sheet_name)
# 替换"A"为"B", "C"为"D"
df['A'] = 'B'
df['C'] = 'D'
# 将'Q'列移动到'B'列后面(假设'B'列不存在时追加)
df.insert(1, 'B', df.pop('Q')) if 'B' not in df.columns else None
# 同理,将'W'列移动到'D'列后面(假设'D'列不存在时追加)
df.insert(3, 'D', df.pop('W')) if 'D' not in df.columns else None
# 存储替换后的数据
data_dict[sheet_name] = df
# 再次写入原始文件夹,覆盖原有文件
with pd.ExcelWriter(os.path.join(folder_path, file_name), engine='openpyxl') as writer:
for sheet_name, df in data_dict.items():
df.to_excel(writer, sheet_name=sheet_name, index=False)
print(f"已完成对{len(xlsx_files)}个文件的操作.")
```
运行这段代码后,它会在指定的`table`文件夹中遍历所有`.xlsx`文件,按照要求进行内容替换和列调整,然后保存修改后的文件。
阅读全文