这可能是非常简单的事情,但我是Python的全新,很抱歉。 cas是我有很多包含这种文本的文件:
name1
[1.0 2.0 3.0],[1.1 2.1 3.1]
(目录/data/text1/1.txt)
另一个文件例如包含
name2
[4.0 5.0 6.0],[4.1 5.1 6.1]
(目录/data/text2/2.txt)
,输出应为:
name1
1.0 1.1
2.0 2.1
3.0 3.1
name2
4.0 4.1
5.0 5.1
6.0 6.1
最好的方法是什么?
我试着编写代码:
with open('1.txt','r+') as f:
for line in f:
a = line.split(',', 1)
new_line = line[0] + '\n' + line[1]
f.write(new_line)
(这可能真的很愚蠢。)
Ex。:(它只有两行)
sm_CCC1OCO1
[ 71.54252843 52.88596242 51.64903087],[ 62.07181336 44.1827499 42.9019055 ]
答案 0 :(得分:1)
您可以zip
和re
来解决您的问题。
以下是代码:
>>> import re, os
>>> for file in os.listdir("directory"):
>>> with open(file) as fp:
>>> for line in fp.readlines():
>>> lists = [re.findall("\d+\.\d+",l) for l in line.split(',')]
>>> for a,b in zip(lists[0],lists[1]):
>>> print a, b
对于包含内容的文件:
[1.0 2.0 3.0],[1.1 2.1 3.1]
输出:
1.0 1.1
2.0 2.1
3.0 3.1
希望这是你所期望的。