将 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
我正在尝试使用 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