1、读取存贷款数据.xlsx内的每张Sheet表,从第3行开始,不包括最后一行,新增一列数据,数据内容为对应Sheet表名,合并表,但合并表中除第一张表保留前两行标题外,其余表不保留标题,且不包括最后一行数据,保存到新文档
时间: 2024-04-05 16:35:41 浏览: 57
好的,您的需求是读取 Excel 文件中的每个 Sheet 表格,从第三行开始,新增一列数据,数据内容为对应 Sheet 表格的名称,然后将所有表格合并成一个表格,但是合并表格时除了第一张表格保留前两行标题外,其余表格不保留标题,且不包括最后一行数据,并将结果保存到一个新的 Excel 文件中。以下是实现此需求的 Python 代码:
```python
import pandas as pd
# 读取 Excel 文件
df_dict = pd.read_excel('存贷款数据.xlsx', sheet_name=None, header=None, skiprows=2)
# 将所有表格合并成一个表格
df_list = []
for name, df in df_dict.items():
# 在每个表格中新增一列,数据内容为对应表格的名称
df['表格名称'] = name
# 除第一张表格外,删除表格的标题和最后一行数据
if name != list(df_dict.keys())[0]:
df = df.iloc[2:-1, :]
df_list.append(df)
merged_df = pd.concat(df_list, ignore_index=True)
# 保存到新的 Excel 文件中
merged_df.to_excel('合并的存贷款数据.xlsx', index=False)
```
这段代码中,我们首先使用 Pandas 库中的 `read_excel` 函数读取 Excel 文件中的所有表格,然后使用循环遍历每个表格,并在每个表格中新增一列,数据内容为对应表格的名称。在合并表格时,我们使用 Pandas 库中的 `concat` 函数将所有表格合并成一个表格,并使用 `iloc` 函数删除除第一张表格外的标题和最后一行数据。最后,我们使用 Pandas 库中的 `to_excel` 函数将合并后的表格保存到一个新的 Excel 文件中。
阅读全文