如何在Python中的每一行的第n个位置创建一个字符串列表

时间:2017-07-06 18:44:40

标签: python python-3.x

创建一个文本文件的每一行的第五个字符串(用一个例子来说明)的pythonic方法是什么,假设它重新包含这样的内容:
12,2 27.i,3,6.7,你好,438
在这种情况下,脚本会在列表中添加“Hello”(不带引号) 换句话说(概括),使用输入“input.txt”,我怎样才能在python中获取一个列表,该列表采用每行的第n个字符串(n是定义的数字)?
非常感谢提前!

4 个答案:

答案 0 :(得分:6)

您可以使用csv模块读取文件,并将第五列中的所有项目存储在列表中:

import csv

with open(my_file) as f:
    lst = [row[4] for row in csv.reader(f)]

答案 1 :(得分:3)

如果它是一个文本文件,它可以很简单:

with open(my_file, 'r') as f:
    mylist = [line.split(',')[4] for line in f]  # adds the 5th element of split to my_list

答案 2 :(得分:0)

由于您提到您使用的是.txt文件,因此可以尝试:

f = open('filename.txt').readlines()
f = [i.strip('\n').split(",") for i in f]
new_f = [i[4] for i in f]

答案 3 :(得分:0)

这可能不是最有效的解决方案,但您也可以对其进行硬编码,例如创建一个等于零的变量,为行中的每个单词添加一个变量,并在变量= 5时将单词追加到列表中。然后将变量重置为零。