繁体   English   中英

带有多个分隔符的熊猫to_csv

[英]Pandas to_csv with multiple seperators

我想使用多个分隔符将pandas数据框转换为csv。 有办法吗?

dataframe.to_csv(file.csv, sep="%%")

错误:定界符必须为1个字符的字符串

最简单的方法可能是先使用唯一的单字符分隔符,然后替换它:

tsv = dataframe.to_csv(sep='\t') # use '\1' if your data contains tabs
psv = tsv.replace('\t', '%%')
with open('file.csv', 'w') as outfile:
    outfile.write(psv)

PS:考虑使用.csv以外的扩展名,因为它没有逗号分隔。

我认为,如John所说,replace可能存在一些错误,因为它不能保证被替换的字符是分隔符。

此外,由于to_csv作为string返回,因此如果数据很大,则迁移会导致memory error

这是另一个可行的解决方案。

with open('test_pandas.txt', 'w') as f:
    for index, row in dataframe.iterrows():
        l = map(str, row.values.tolist())
        line = '%%'.join(l)
        f.write(line+'\n')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM