如何使用字符串列表编辑.txt文件

时间:2017-11-12 17:36:43

标签: python list

我有一个包含字符串列表的.txt文件,每行一个列表:

['Animals', 'Endoplasmic Reticulum', 'Humans']

我想编辑每一行,类似于:

  

训练/ 197种动物内质网人

其中“training”是我之前在函数内部分配的变量(即,这将被忽略),“197”是该行的索引,以下单词是该行中列表的所有元素

我不太确定如何抓住并“加入”所有这些(超过打开文件并为每一行设置for循环),所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

试试这个:

输入文件input.txt

['AAA', 'BBB CCC', 'DDD']
['EEE', 'FFF', 'GGG']
outfile.txt是:

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'>

因此您可以根据您的要求对此进行所有列表操作。