从list-Python中的字符串中提取第n行文本

从list-Python中的字符串中提取第n行文本,python,python-3.x,Python,Python 3.x,我有一个由149个文本字符串组成的列表。从每个字符串中,我想提取文本的第2行和第7行。我想把每一行的结果放在一个单独的列表中 我试过(只为一行): 但我得到的信息是“索引器:列表索引超出范围”。我想也许我需要做: text = [] for string in list: x = [string].splitlines()[2] text.append(x) 但这给了我一条信息“AttributeError:'list'对象没有属性'splitlines'” 我正在使用Python

我有一个由149个文本字符串组成的列表。从每个字符串中,我想提取文本的第2行和第7行。我想把每一行的结果放在一个单独的列表中

我试过(只为一行):

但我得到的信息是“索引器:列表索引超出范围”。我想也许我需要做:

text = []  
for string in list:
  x = [string].splitlines()[2]
  text.append(x)
但这给了我一条信息“AttributeError:'list'对象没有属性'splitlines'”


我正在使用Python 3.6。有什么想法吗?谢谢你的帮助

string.splitlines
是分割每个字符串的行的正确函数,如果它为索引2(注意:这是第三行)提供了一个
索引器,则表示少于三行。这可能就是您要查找的代码:

line2_results = []
line7_results = []
for str in list:
    lines = str.splitlines()
    if len(lines) >= 2:
        line2_results.append(lines[1])
        if len(lines) >= 7:
            line7_results.append(lines[6])

string.splitlines
是分割每个字符串的行的正确函数,如果它为索引2(注意:这是第三行)提供了一个
索引器,则表示少于三行。这可能就是您要查找的代码:

line2_results = []
line7_results = []
for str in list:
    lines = str.splitlines()
    if len(lines) >= 2:
        line2_results.append(lines[1])
        if len(lines) >= 7:
            line7_results.append(lines[6])

你肯定不需要把它放在括号里,这使它成为一个列表<代码>字符串。拆分行
是正确的,显然,您在该特定条目中没有3行。(不知道您的数据是什么样子的,我不能说更多)如果您在第一次尝试分配x之前执行
print(len(string.splitlines())
,则打印什么?此外,要提取第二行,您应该使用
string.splitlines()[1]
-因为0是第一个元素,1是第二个,依此类推。@JimFasarakisHilliard谢谢你关于括号的说明。我不知道你肯定不需要把它放在括号里,这使它成为一个列表<代码>字符串。拆分行
是正确的,显然,您在该特定条目中没有3行。(不知道您的数据是什么样子的,我不能说更多)如果您在第一次尝试分配x之前执行
print(len(string.splitlines())
,则打印什么?此外,要提取第二行,您应该使用
string.splitlines()[1]
-因为0是第一个元素,1是第二个,依此类推。@JimFasarakisHilliard谢谢你关于括号的说明。我不知道谢谢你的帮助!是的,输入列表中有空白字符串,我现在知道这是导致错误的原因。谢谢您的帮助!是的,输入列表中有空白字符串,我现在知道这是导致错误的原因。