【问题标题】:How can I skip the first line in CSV files imported into a pandas df but keep the header for one of the files?如何跳过导入到 pandas df 的 CSV 文件中的第一行,但保留其中一个文件的标题?
【发布时间】:2022-11-28 21:44:20
【问题描述】:

我基本上想保留其中一个 csv 文件的标题,使它们成为 csv 中的列名,但对于其余文件,我想跳过标题。除了以下内容之外,是否有更简单的解决方案来执行此操作:

  • 导入为无标题,然后在导入所有 csv 文件并从 df 中删除重复行后更改列名称。

我当前的代码是:

import glob
import pandas as pd
import os


path = r"C:\Users\..."

my_files = glob.glob(os.path.join(path, "filename*.xlsx"))

file_li = []

for filename in my_files:
    df = pd.read_excel(filename, index_col=None, header=None)
    file_li.append(df)

我正在尝试根据文件名满足上述条件的条件将 365 个文件附加到一个文件中。这些文件如下所示:

Colunn1 Colunn2 Colunn3 Colunn4 Colunn5 Colunn6 Colunn7 Colunn8 Colunn9 Colunn10 Colunn11
2 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
3
4
5
6
7

我想保留第一个文件的列名 (column1, 2.,),然后跳过其余文件,这样我就不必重新编制索引或更改 df。这样做的原因是我不想在 DF 中有带有列标题的重复行或缺少标题...这会使更简单的解决方案复杂化吗?

希望这是有道理的。

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    你为什么把它们放在一个列表中? Pandas concat 允许您在为您进行列名管理的同时组合 DF。

    https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 2012-07-14
      • 2015-01-09
      • 2016-11-16
      • 2018-06-12
      • 2020-12-15
      相关资源
      最近更新 更多