2011-10-25 14 views
-2

リストにデータを解析したいcsvファイルがあります。 は、だから私は、次のように基本的に を読み取るためにPythonのcsvモジュールを使用しています:リストにcsvを解析するpython

import csv 
fin = csv.reader(open(path,'rb'),delimiter=' ',quotechar='|') 
print fin[0] 
#gives the following 
['"1239","2249.00","1","3","2011-02-20"'] 

#lets say i do the following 
ele = str(fin[0]) 
ele = ele.strip().split(',')  
print ele 
#gives me following 
['[\'"1239"', '"2249.00"', '"1"', '"3"', '"2011-02-20"\']'] 

ELE [0]私与えます - >出力---> [ ' "1239"

をどうすればそれを取り除くことができますか? ' 最後に、私は1239を取得して整数に変換しますか? これは おかげ

が起こっている理由は、任意の手掛かり

編集:* 気にしないで...最初のコメント*あなたは文字列にリストを変換するためです

+7

区切り文字を実際にカンマ区切りの値として表示するときに区切り文字を ''''に設定するのはなぜですか? – blahdiblah

+0

ありがとう..it作品.. :) – Fraz

答えて

0

への解決のおかげで、実行する必要はありませんこの。あなたは、文字列のメソッドを置き換えるとスプリットん前に、あなたはタイプが文字列であるかどうかを確認または場合に例外を処理する必要があり、もちろんの

>>> a = ['"1239","2249.00","1","3","2011-02-20"'] 
>>> a 
['"1239","2249.00","1","3","2011-02-20"'] 
>>> a[0] 
'"1239","2249.00","1","3","2011-02-20"' 
>>> b = a[0].replace('"', '').split(',') 
>>> b[-1] 
'2011-02-20' 

を:リストの最初の要素をつかむ(この場合には、それは文字列です)して、それを解析しますそうではありません。

また、Blahdiblahは正しく、区切り記号が間違っている可能性があります。

1

デリミタを '、'に変更すると、csvリーダーからこれらの値のリストが表示されます。

関連する問題