python - 如何在 pandas to_csv() 中设置自定义分隔符?

标签 python python-3.x csv pandas

从文档中我知道,为了保存为 .csv 文件,可以简单地执行以下操作:

df.to_csv(sep = ';')

但是,我想使用我的自定义分隔符,例如::::。如何将 ::: 设置为分隔符?。我试图:

df.to_csv(sep = ':::')

得到:TypeError: "delimiter"must be a 1-character string

我还尝试了:df.to_csv('../data.csv', sep='\s*\:::', index=False),得到了相同的结果.因此,如何设置自己的分隔符?

更新

因为我的数据框有 |,所以我不能使用这样的字符作为分隔符。我试图用以下方法删除它:

df.replace('\b|\b', '-', regex = True)

然而,这并没有奏效。关于如何删除它的任何替代方法?

最佳答案

这是一篇旧文章,但在谷歌搜索如何将 Dataframe 导出到 csv 时,我似乎总是会落在这里。

虽然你不能直接用 Pandas 做,但你可以用 Numpy 做。

由于 Pandas 需要 Numpy,因此您不会增加包的大小。

要做你想做的,你可以简单地做:

import numpy as np
np.savetxt('out.csv', my_df, delimiter=':::')

Numpy 提供了一个更好的 api 来保存 csv 文件。您甚至可以使用以下方法指定不同的分隔符:

import numpy as np
np.savetxt('out.csv', my_df, fmt=['%.2f:::', '%f', '%s'])

您可以找到所有可能的选项 in the docs .

关于python - 如何在 pandas to_csv() 中设置自定义分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43324461/

相关文章:

python - 在 Python 中获取目录的完整名称

python - Numpy IndexError 使用 genfromtxt 和第一列字符串读取 csv

java - 通过正则表达式匹配csv文件中的空行

Azure 数据工厂将 CSV 文件拆分为多个 CSV 文件?

python - 为什么我的 A* 实现比 floodfill 慢?

python - 如何指定列的默认值作为占位符?

open() 未分配给任何变量时的 Python 文件状态

xml - CRM 模块中的 Many2one res.partner 过滤器

python - Seaborn:累积总和和色调

django - 排序时 : '<' not supported between instances of 'NoneType' and 'str'