行ごとに空のリストに入れているcsvファイルがあるため、最終結果は、リスト内の各行を含むネストされたリストになります。
[[1.1,2.6,3,0,4.8],[3.5,7.0,8.0]....and so on.....].
問題は、ファイルの最後に空の文字列があり、次のような最終リストになります。
[[1.1,2.6,3,0,4.8],[3.5,7.0,8.0],['','','','','','','','','']]
これらを取り除く、またはリストに追加されないようにするにはどうすればよいですか。それらは非常に大きなcsvファイルなので、最初のリストに追加されるのをやめたいと思います。おそらく必要ないのに、非常に大きなリストを作成しているように感じます。これにより、メモリの問題が発生する可能性があります。これまでのコードは次のとおりです。
csvfile = open(file_path, 'r')
reader = csv.reader(csvfile)
data_list = []
for row in reader:
data_list.append(row)
csvfile.close()
i = 0
file_data = []
while i < len(data_list):
j = 0
while j < len(data_list[i]):
try:
data_list[i][j] = float(data_list[i][j])
except ValueError:
pass
j += 1
file_data.append(data_list[i])
i += 1
print file_data