将 pandas df 写入 csv 时的默认列名

Default column names while writing pandas df as csv

我正在尝试使用 to_csv 函数将 pandas df 编写为 csv 文件。写完后,我观察到 pandas 自动创建默认列名,如下所示。

    _c0     _c1     _c2     _c3     _c4     _c5

0    A       B       C       D       E        F
1    a       b       c       d       e        f     
2    g       h       i       j       k        l

我的实际列名是 [A,B,C,D,E,F]。下面是我写的函数

df.to_csv(file_name,encoding='utf-8',header=True,index=False,columns=[A,B,C,D,E,F])

我期望的格式应该如下

     A       B       C       D       E        F 
0    a       b       c       d       e        f 
1    g       h       i       j       k        l

我可以在读取创建的 csv 后通过执行以下行来获得预期的格式。

df.columns = df.iloc[0]
df = df.iloc[1:]

但是,有什么方法可以避免在创建 csv 之前创建这些默认列名吗?

提前致谢

我认为这适合你:

import pandas as pd
df = pd.DataFrame([{"A":"a", "B":"b", "C":"c", "D":"d", "E":"e", "F":"f"},
                    {"A":"g", "B":"h", "C":"i", "D":"j", "E":"k", "F":"l"}])
df.to_csv(file_path, index=True)

我认为你的问题是你使用了 columns 参数。

您可以使用 df.to_csv(header=...) 设置自定义 header。 如果您不需要,只需输入 header = False.

我认为“问题”与导入数据框的时间有关。您没有正确设置页眉。我认为您无法在 df 中找到所需的列名称,不是吗?你是如何导入这个的?

如果您从 csv 中读取它并使用 pd.read_csv 确保 header=0