0

我正在尝试从一个非常混乱的文本文件创建一个逗号分隔的文件。我查看了此处发布的一些可能相关的问题,但到目前为止没有任何效果。

这是文件的一小部分:

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

任何建议将不胜感激。提前非常感谢。

4

1 回答 1

0

您试图同时在线路级别和“块”级别工作的问题是什么?

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)

当然,您可以组合其中的一些列表推导,为了清楚起见,我将它们分开。

于 2012-07-04T18:36:39.133 回答