【发布时间】:2018-12-22 00:45:23
【问题描述】:
pandas to_csv 函数似乎只允许使用单个字符分隔符/分隔符。
有没有办法允许使用字符串,例如“::”或“%%”?
我试过了:
df.to_csv(local_file, sep = '::', header=None, index=False)
得到:
TypeError: "delimiter" must be a 1-character string
【问题讨论】:
-
您可以将所需分隔符的单个字符附加到每个元素,然后将单个字符传递给分隔符,但如果您打算将其读回
pandas,那么您将遇到同样的困难 -
@EdChum 好主意.. 将单个字符附加到 DF 中的每个字段的命令是什么(它有 100 列和 10000 行)。我猜最后一列不能有尾随字符(因为是最后一列)。谢谢!
-
你还有其他需要这个的工具吗?因为大多数电子表格程序、Python 脚本、R 脚本等都不会像 Pandas 那样识别格式。
-
将第一个
:附加到每个字段是行不通的,因为这只是保证每个字段都会被引用或转义,所以你会得到类似:":"的东西,或者最佳\::。 (即使你想用方言参数强制后者,它仍然会转义它在值中间看到的每个冒号,而不仅仅是双冒号。) -
ftw,pandas 现在支持多字符分隔符。但是,如果该分隔符出现在引用的文本中,它将被拆分并丢弃在一行中检测到的真实字段数:(
标签: python csv dataframe delimiter