将文本文件转换为没有索引的csv文件

时间:2019-09-22 15:43:45

标签: python pandas

我有一个带有数据的testx文件

1 1 1 1 1 
2
3 4 4 4 4

想将其读取为csv文件。

data = pd.read_csv("file.txt",sep="\n",header=none)

但这正在添加

   0,
    1,1 1 1 1 1 
    2,2
    3,3 4 4 4 4

现在我可以删除索引而不是,以便获取csv文件。

我写index=false的逗号也消失了

我正在寻找输出

,1 1 1 1 1 
,2
,3 4 4 4 4

因为我的输入程序仅接受csv文件

2 个答案:

答案 0 :(得分:2)

尝试一下:

from io import StringIO

csvtext = StringIO("""1 1 1 1 1 
2
3 4 4 4 4""")

data = pd.read_csv(csvtext, sep='\n', header=None)

data.to_csv('out.csv', index=False, header=False)

#on windows

!type out.csv

输出:

1 1 1 1 1 
2
3 4 4 4 4

答案 1 :(得分:1)

如果我了解您,我认为您只需要阅读而无需更改即可,请尝试以下操作:

import csv

with open('file.txt', newline='') as txt_file:
    csv_file = csv.reader(txt_file, delimiter=' ')

    #if you need to convert it to csv file:
    with open ('file.csv', "w",newline='') as new_csv_file:
        new_csv = csv.writer(new_csv_file, delimiter=',')

        for row in csv_file:
            print(' '.join(row))
            new_csv.writerow(row)

csv格式的输出(您的预期输出为 csv):

1,1,1,1,1,
2
3,4,4,4,4

我已经编辑了答案,因此,如果您要编写一个csv文件,现在可以使用前面的代码。您可以使用csv模块的dialects and formatting parameters解决格式问题。