2016-08-04 10 views
-1

これは、いくつかのCSVの解析使用した後、私のリストを見てどのようにPythonでリストのリスト:私はそのリストを解析しますソート

list=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'], 
     ['1131', '', '', ''], ['2024194PJ', '01/08/15', 
     'SOCIETATEA NATIONALA DE', '2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']] 

(これはデータサンプルであるが、実際のリストは大きくなります) :

for a in list: 
    for x in a: 
     if ....: 
     anotherlist.append(x) 

私はこの出力をしたい:

anotherlist=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'], 
['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE RADIOCOMUNICATII 
SA', '2,088.17']] 

私はそれぞれ前のリストに2RDインデックス値を追加したいですその特定のリストを削除するので、この

[['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE', 
'2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']] 

この

[['2024194PJ', '01/08/15', 
'SOCIETATEA NATIONALA DE RADIOCOMUNICATII SA', '2,088.17']] 

もこの形式を取り除く

['1131', '', '', ''] 

になります。しかし、私はそれを行う方法がわかりません。リストを想定し

答えて

0

はいつもあなたが提供されたスキーマに従います:

list2 = [] 
for i in range(len(list)/2): 
    list2 += [[list[i*2][0], 
       list[i*2][1], 
       list[i*2][2] + ' ' + list[i*2+1][2], 
       list[i*2][3]]] 

を説明:
私たちは、空のリスト(リスト2)で始まる:forループ

list2 = [] 

Aが行きますあなたのリストの全体を通して、しかし、すべての2番目の要素だけを見てください:

各ステップ

、それはLIST2に新しいエントリを追加:

list2 += 

この新しいエントリは、2つのリスト要素、リスト[iが2 *]とリストとの組み合わせである[I 2 + 1 *]。

  [[list[i*2][0], 
      list[i*2][1], 
      list[i*2][2] + ' ' + list[i*2+1][2], 
      list[i*2][3]]] 
+0

完璧なことは、あなたがそこで何をしたのか説明できますか?どうもありがとう! – Rommel

+0

@Rommel答えにいくつかの詳細を追加しました。 –

+0

私はその点を持っていますが、ループは私が必要としないリストをどのように無視していますか?ありがとう! – Rommel