将拆分的字符串插入python中的列表

时间:2016-05-06 14:18:57

标签: python

考虑这段代码:

csvreader = csv.reader(filter(lambda row: row[0] != '#', fcsv), delimiter= '\t')
csvrs =[[row[2], row[7]] for row in csvreader]

元素row[7]是由;分隔的字符串,我想要做的不是将整个row[7]放在csvrs中,而只将; 分割成一个分割的部分 比如说:

row[7] = '123;457;789;1011'

我只想在csvrs里面的第二个位置(在这种情况下是457),我希望每次都过滤掉其他所有部分。我正在尝试拆分,没有结果保持列表理解。

2 个答案:

答案 0 :(得分:1)

只需在理解中进行拆分,然后为第二项

获取[1]
csvrs =[[row[2], row[7].split(';')[1]] for row in csvreader]

答案 1 :(得分:1)

def get_second_col(row, delimiter=';'):
    try:
        return row.split(delimeter)[1]
    except IndexError:
        return None

csvrs =[[row[2], get_second_col(row[7])] for row in csvreader]