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

2024-09-27 21:28:39 发布

您现在位置: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),并且每次过滤掉其他的片段时我都想要这个位置。我试着用split,但是没有结果


Tags: csvlambda字符串代码in元素forfilter
2条回答

只需在理解中进行拆分,并获得第二项的[1]

csvrs =[[row[2], row[7].split(';')[1]] for row in csvreader]
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]

相关问题 更多 >

    热门问题