我有一个由149个文本字符串组成的列表。从每个字符串中,我想提取第2和第7行文本。我希望每行的结果都放在一个单独的列表中。从列表中的字符串中提取第n行文本 - Python
我试过(只是一条线):
text = []
for string in list:
x = string.splitlines()[2]
text.append(x)
但我得到的消息“IndexError:列表索引超出范围”。我想,也许我需要做的:
text = []
for string in list:
x = [string].splitlines()[2]
text.append(x)
但是,这给我的消息“AttributeError的:‘名单’对象有没有属性‘splitlines’”
我使用Python 3.6。有任何想法吗?谢谢你的帮助!
你绝对不需要把它放在括号内,这使它成为一个列表。 'string.splitlines'是正确的,你显然没有在那个特定条目中的3行。 (不知道你的数据是什么样的,我不能说更多) –
如果在第一次尝试分配x之前执行'print(len(string.splitlines())),打印什么? –
另外,为了提取第二行,你应该使用'string.splitlines()[1]' - 因为0是第一个元素,1是第二个元素,依此类推。 –