似乎pandas to_csv函数仅允许使用单个字符定界符/分隔符。
是否有某种方式允许使用字符串,例如“ ::”或“ %%”?
我尝试过:
df.to_csv(local_file, sep = '::', header=None, index=False)
并获得:
TypeError: "delimiter" must be a 1-character string
答案 0 :(得分:1)
例如:
np.savetxt(file.csv, np.char.decode(chunk_data.values.astype(np.bytes_), 'UTF-8'), delimiter='~|', fmt='%s',encoding=None)
np.savetxt(file.dat, chunk_data.values, delimiter='~|', fmt='%s',encoding='utf-8')
答案 1 :(得分:0)
请考虑以下这一行a::b::c‘
对标准CSV工具的含义:一个a
,一个空列,一个b
,一个空列和一个c
。即使在更复杂的情况下使用引号或转义符:"abc::def"::2
表示abc::def
,空列和2。
因此,您要做的就是在每列之间添加一个空列,然后使用:
作为分隔符,输出几乎是您想要的。
我说“差不多”是因为熊猫要引用或转义单个冒号。根据您使用的方言选项以及您尝试与之交互的工具,这可能是问题,也可能不是问题。不必要的引号通常不是问题(除非您要求QUOTE_ALL
,因为那样您的列将由:"":
分隔,因此希望您不需要该方言选项),但是可能会出现不必要的转义(例如,您可能最终会将字符串中的每个:
变成\:
之类的东西)。因此,您必须谨慎使用这些选项。但它适用于基本的“根据需要引用,大多数情况下带有其他标准选项”设置。