我有一个包含字符串列表的.txt文件,每行一个列表:
['Animals', 'Endoplasmic Reticulum', 'Humans']
我想编辑每一行,类似于:
训练/ 197种动物内质网人
其中“training”是我之前在函数内部分配的变量(即,这将被忽略),“197”是该行的索引,以下单词是该行中列表的所有元素
我不太确定如何抓住并“加入”所有这些(超过打开文件并为每一行设置for循环),所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
试试这个:
输入文件input.txt
['AAA', 'BBB CCC', 'DDD']
['EEE', 'FFF', 'GGG']
training/0 AAA BBB CCC DDD
training/1 EEE FFF GGG
代码:
with open('input.txt') as input_file, open('outfile.txt','w') as out_file:
row_index = 0
any_string = 'training'
for line in input_file.readlines():
line_list = eval(line)
final_row_string = '{}/{} {}\n'.format(any_string, row_index, str(' '.join(line_list)))
out_file.write(final_row_string)
row_index += 1
答案 1 :(得分:0)
正如你所说:
“training”是我之前在函数内部分配的变量 (即这是可以忽略的),
所以我只给你解决方案:
我不太确定如何抓住并“加入”所有这些(过去的重点 打开文件并为每一行设置for循环):
您可以尝试:
它只是一个例子,你可以根据你的需要修改它:
import ast
with open('file.txt','r') as f:
for line in f:
print(*ast.literal_eval(line))
会给你输出:
Animals Endoplasmic Reticulum Humans
你可以检查它的类型,
print(type(ast.literal_eval(line)))
是:
<class 'list'>
因此您可以根据您的要求对此进行所有列表操作。