我有一个特定格式的纯文本文件,为了简单起见,让我们保持名字、年龄、爱好和空格的顺序,这样继续下去
名称1
年龄1
板球和象棋
名称2
年龄2
板球、网球和曲棍球
等等等等,一直到说名字1000
我正在尝试编写一个python程序,该程序可以将此文件转换为,并将输出保存为新文件
你好,名字1。您的年龄为1岁。你喜欢板球和象棋
你好,名字2。你的年龄是2岁。你喜欢板球、网球和曲棍球
等等
因为我没能做到这一点,所以我试着对2个小样本进行测试,在它们之前添加了这些(姓名:,年龄:,爱好:)
名称:名称1
年龄:1岁
爱好:板球、国际象棋
名称:名称2
年龄:2岁
爱好:板球、网球和曲棍球
我已经编写了下面的代码,但无法正确执行,下面的代码只是又一次不成功的尝试
import re
number = 1
doc = open('profiles.txt', 'r')
def combine(line):
x = ''
if re.search("^Name :", line): x = str((line.partition(':'))[2])
elif re.search("^Age :", line): x = str((line.partition(':'))[2])
elif re.search("^Hobbies :", line): x = str((line.partition(':'))[2])
else : pass
return x
for n in doc:
# with open('Result.txt', 'a') as file: file.write(str("{0}) Hi {1}. You are aged{1}. You like{1}".format(number,str(combine(n)))))
print(str("{0}) Hi {1}. You are aged{1}. You like{1}".format(number,str(combine(n)))))
number += 1
我试着寻找答案,但也许我不知道如何正确地表达。 非常感谢您的帮助
另一个版本,pedantic和您提供的文件格式,使用.readlines()
readlines()在一次运行中读取所有行,然后将它们作为列表中的字符串元素返回,您可以非常轻松地进行迭代和浏览
我的文本文件是:
它打印出:
在第一个实例中,如果您有换行分隔的详细信息,您可以执行以下操作:
我认为这是一种更简单的方法(基于您建议的第二种文件格式):-
相关问题 更多 >
编程相关推荐