首页 > 解决方案 > df.to_csv 没有分隔符和空格 python

问题描述

我想创建一个 txt 文件,所以我使用了它。

df1.to_csv('C:/Users/junxonm/Desktop/Filetest.txt',sep=" " ,index=False, header=False)

我可以完全去除分隔符

我试过这个...

df1.to_csv('C:/Users/junxonm/Desktop/Filetest.txt',sep="" ,index=False, header=False)

和这个...

df1.to_csv('C:/Users/junxonm/Desktop/Filetest.txt',sep=str('') ,index=False, header=False)

两者都不起作用

Traceback (most recent call last):
  File "C:/Users/junxonm/PycharmProjects/kemper/JDSNFILE2.py", line 371, in <module>
    df1.to_csv('C:/Users/junxonm/Desktop/Filetest.txt',sep=str(""),index=False, header=False)
  File "C:\Program Files\Python37\lib\site-packages\pandas\core\generic.py", line 3228, in to_csv
    formatter.save()
  File "C:\Program Files\Python37\lib\site-packages\pandas\io\formats\csvs.py", line 200, in save
    self.writer = UnicodeWriter(f, **writer_kwargs)
  File "C:\Program Files\Python37\lib\site-packages\pandas\io\common.py", line 517, in UnicodeWriter
    return csv.writer(f, dialect=dialect, **kwds)
TypeError: "delimiter" must be a 1-character string

你有什么建议或其他想法吗?

非常感谢

标签: pythonpandas

解决方案


问题是 CSV 代表逗号分隔字段。变体允许用另一个字符长的分隔符替换逗号。然后打算总是能够从 csv 文件中提取单个字段。如果分隔符为空,则无法提取回字段,因此它不能是 CSV 文件。句号。这就是为什么to_csv坚持使用一个字符长的分隔符的原因。如果你想打印没有分隔符和系统默认文件结尾的字段,你应该使用print而不是to_csv

with open('C:/Users/junxonm/Desktop/Filetest.txt', 'w') as fd:
    for i in range(len(df1)):
        print(df1.iloc[i,:], sep='', file=fd)

推荐阅读