2016-05-06 7 views
0

内のリストに文字列を分割さは、コードのこの部分を考慮してください。挿入の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を置くだけではないが、;で区切られた文字列であります例えば; セイによってseaprated分割さ部分:

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

iが(この場合は457)にcsvrs内部のみ第二の位置を必要と私はすべての時間が他のすべてを除外これが欲しいですピース。私はリストの理解を維持している結果なしで分割している。

+1

はどのようにして ')(' .splitを使用しています、そして、それは間違って何をするのでしょうか? – zondo

答えて

1

ちょうど理解の内側の分割を行うと、2番目の項目について[1]

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