正規表現を処理しないため、私の問題は異なります。だから私はそれが少し違うと思う。私はこのエラーがある。私のコードはValueErrorを処理する方法:Pythonのfloat()の無効なリテラル
with open(item[1]) as f:
lines = f.readlines()
print 'lines', lines
for k, line in enumerate(lines):
data_temporary = line.strip().split("\r\n")
私はdata_temporary私を印刷するとき、 "行" は、私が
['512220 0 20 34.4 2.4 0 10010 913 52
0.00\n', '512221 1 30 34.6 2.3 0 10230 910.3
54 0.00\n', '512222 2 50 34.8 2.1 0 10020
932 56 0.00\n', '512223 3 60 35.4 2.5
0 10340 945.5 58 0.00'\n]
をfollwingしまった印刷である
512220 0 20 34.4 2.4 0 10010 913 52 0.00
512221 1 30 34.6 2.3 0 10230 910.3 54 0.00
512222 2 50 34.8 2.1 0 10020 932 56 0.00
512223 3 60 35.4 2.5 0 10340 945.5 58 0.00
ように私のcsvファイルを検索します
ValueError: invalid literal for float(): 512220 0 20 34.4
2.4 0 10010 913 52 0.00
次の1行しか得られません。
['160129 29 0000 0 0.04 5.3 2.04
0.00 11758 9.13 52 0.00']
これらのコマンドを試したところ、結果は次のとおりです。 。 data_temporary = line.strip()。スプリット(」「)
['512220', '', '', '', '', '', '', '0', '', '', '', '', '', '20', '', '', '',
'', '', '', '34.4', '', '', '', '', '', '2.4', '', '', '', '', '', '0', '', '',
'', '10010', '', '', '', '', '', '913', '', '','', '', '', '52', '', '',
'', '', '', '0.00']
私はSOで見つかったさまざまなソリューションを適用しようとしましたが、動作しませんでした。私が使用しようとしているように
lines = map(lambda l: l.strip().split('\t'), lines) and some others.
私は文字列にリストを中断し、次にそれを操作しなければならないと思います。 誰かがこの問題を解決するのに役立ちますので、私は理解しやすくなります。ありがとう
は、なぜあなたは 'に分割されている\ rを\ N '?ファイルを反復処理すると、* lines *を反復処理します。 * white space *を分割する 'line.split()'がほしいだけです。実際、次のように動作します: '[list(map(float、line。split()))の行のために –
[Split string of Pythonの空白を分割する]の可能な複製(http://stackoverflow.com/questions/8113782/split-string-on-whitespace-in-python) – TemporalWolf