使用 Python 处理带有复合表头的 Excel 单 Sheet 内容

本代码示例展示了如何使用 Python 和 Pandas 库来处理包含复合表头的 Excel 文件中的单 Sheet 内容。

import pandas as pd

# 读取 Excel 文件,指定 sheet 名称
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 获取列名列表
columns = df.columns.tolist()

# 遍历列名列表,处理复合表头
new_columns = []
for col in columns:
    if col.startswith('Unnamed'):
        # 如果列名以'Unnamed'开头,代表该列是复合表头的子列
        new_columns[-1] += ' ' + col
    else:
        # 否则,该列是一个新的表头
        new_columns.append(col)

# 更新 DataFrame 的列名
df.columns = new_columns

# 处理数据
# ...

# 将处理后的数据保存为新的 Excel 文件
df.to_excel('new_data.xlsx', index=False)

代码解析:

  1. 导入 Pandas 库: import pandas as pd
  2. 读取 Excel 文件: df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
  3. 获取列名列表: columns = df.columns.tolist()
  4. 处理复合表头:
    • 遍历列名列表 columns
    • 如果列名以 'Unnamed' 开头,则将该列名添加到 new_columns 列表中,并将其追加到前一个表头名称的末尾。
    • 否则,该列名是一个新的表头,将其添加到 new_columns 列表中。
  5. 更新 DataFrame 的列名: df.columns = new_columns
  6. 处理数据: 此部分根据您的具体需求进行编写。
  7. 保存处理后的数据: df.to_excel('new_data.xlsx', index=False)

示例:

假设您的 Excel 文件 data.xlsx 中的 Sheet1 有以下复合表头:

| Unnamed: 0 | Unnamed: 1 | A | B | Unnamed: 2 | Unnamed: 3 | |---|---|---|---|---|---| | Name | Age | C | D | City | E |

通过以上代码处理后,df.columns 将变为:

['Name', 'Age', 'C', 'D', 'City', 'E']

这样,您就可以方便地使用 Pandas 库对数据进行进一步处理。

注意:

  • 请确保您的 Excel 文件 data.xlsx 存在于当前工作目录下。
  • 您可以根据您的具体需求调整代码中的文件名和 Sheet 名称。
  • 您可以将处理数据部分替换为您实际的操作代码。

原文地址: https://www.cveoy.top/t/topic/mRmO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录