【发布时间】:2020-05-10 20:39:43
【问题描述】:
默认情况下 to_csv 写一个类似 CSV 的格式
,a,b,c
0,0.0,0.0,0.0
1,0.0,0.0,0.0
2,0.0,0.0,0.0
但我希望它写成这样:
a,b,c
0,0.0,0.0,0.0
1,0.0,0.0,0.0
2,0.0,0.0,0.0
我如何实现这一目标?我无法设置index=False,因为我想保留索引。我只想删除前导逗号。
df = pd.DataFrame(np.zeros((3,3)), columns = ['a','b','c'])
df.to_csv("test.csv") # this results in the first example above.
【问题讨论】:
-
您不想删除前导逗号或所有其他列都向左移动,因为 csv 是 comma-s分隔 v价值文本文件。
-
@Parfait 我上面示例中的第二个数据帧运行良好。试一试。
pd.read_csv("test.csv")(其中 test.csv 是第二个示例)。 -
仔细查看我所提到的期望结果。 A 列不再与原始值对齐,而是向左移动,最后一列没有标题!
-
暗示索引未命名,
pd.read_csv正确解释了该暗示。我知道这当然不是最佳实践,我不建议任何人这样做,但出于某些遗留原因,我需要这样做。 @Parfait -
了解但请注意,除了
pandas,在其他应用程序/语言中读取此 csv(根据下面接受的答案)将导致列移位。我有一种感觉,这是一个XY Problem。您真正的问题应该是处理遗留原因!我还没有遇到过打破最佳实践的用例。祝你好运,编码愉快!
标签: python pandas dataframe export-to-csv