使用python将所有Excel表中的命名为1的sheet中的E列的第九行的数据输出到一个新的Excel表中,将新的Excel表命名为定额表(定额表输出在输入的文件夹中),如果是存在合并单元格的情况,只输出数据
时间: 2024-12-22 14:28:37 浏览: 4
在Python中,你可以使用pandas库来处理Excel文件并实现这个需求。首先,确保已经安装了`openpyxl`和`pandas`库,如果没有,可以通过pip安装:
```bash
pip install pandas openpyxl
```
然后,你可以使用下面的代码示例来完成任务:
```python
import os
import pandas as pd
# 输入文件夹路径
input_folder = 'your_input_folder'
# 循环遍历文件夹内的Excel文件
for filename in os.listdir(input_folder):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
# 打开Excel文件
full_path = os.path.join(input_folder, filename)
with pd.ExcelFile(full_path) as excel:
# 检查名为"1"的工作表是否存在,并获取E列第九行数据
sheet_name = '1'
try:
df = excel.parse(sheet_name)
row_to_output = df.iloc[8, 3] # E列第九行,注意索引是从0开始的
except KeyError:
print(f"No sheet named '{sheet_name}' found in {filename}")
continue
# 如果存在合并单元格,pandas默认不会包含合并单元格的内容,所以无需特殊处理
# 创建新的工作簿并将数据写入
output_filename = '定额表_' + filename.split('.')[0] + '.xlsx'
output_path = os.path.join(input_folder, output_filename)
new_df = pd.DataFrame({'E列第九行': [row_to_output]})
new_df.to_excel(output_path, index=False)
print("数据已成功输出到新Excel表中")
```
记得将`your_input_folder`替换为你实际的文件夹路径。这段代码会查找指定文件夹内所有的Excel文件,找到名为"1"的工作表并在E列第九行提取数据,然后把这些数据存储在一个单独的新Excel表中,如果原文件夹内有同名的文件,会在前面加上“定额表_”。
阅读全文