我正在尝试从一个非常混乱的文本文件创建一个逗号分隔的文件。我查看了此处发布的一些可能相关的问题,但到目前为止没有任何效果。
这是文件的一小部分:
1 1
1 1
2 2
1
2
2 2
3 3
7 C1
E 3 3
4 4
7 C1
E 4 4
5 5
3
E 5 5
6 6
6 6
7 7
7 7
8 8
3
8 8
9 9
9 9
10 10
10 10
任何建议将不胜感激。提前非常感谢。
我正在尝试从一个非常混乱的文本文件创建一个逗号分隔的文件。我查看了此处发布的一些可能相关的问题,但到目前为止没有任何效果。
这是文件的一小部分:
1 1
1 1
2 2
1
2
2 2
3 3
7 C1
E 3 3
4 4
7 C1
E 4 4
5 5
3
E 5 5
6 6
6 6
7 7
7 7
8 8
3
8 8
9 9
9 9
10 10
10 10
任何建议将不胜感激。提前非常感谢。
您试图同时在线路级别和“块”级别工作的问题是什么?
str.split() 默认已经处理了空格和制表符:
lines = open('infile.txt').readlines()
# split each line based on tabs and spaces
lines = [ x.split() for x in lines ]
# remove empty fields (assuming you want to)
lines = [ x for x in lines if len(x) > 0 ]
# transform your lists (lines) into coma separated strings
lines = [ ','.join(x) for x in lines ]
# separate lines with \n for writelines
lines = [ x + '\n' for x in lines ]
open('outfile.txt', 'w').writelines(lines)
当然,您可以组合其中的一些列表推导,为了清楚起见,我将它们分开。