0

次のような Python の json ダンプによって生成されたテキスト ファイルを受け取りました。

[0.1,0.1,0.2,0.3]
[0.1,0.3,0.4,0.3]
[0.1,0.1,0.3,0.3]
[0.3,0.1,0.5,0.3]
.
.
.
[0.1,0.1,0.3,0.3]
[0.3,0.4,0.6,0.3]

など、かなりの量の行 ~>10,000,000

ファイルから読み取り、実際にそれらをリストに変換する最も迅速で効率的な方法を見つけたいと思います。

リストを使用して特定の操作を実行する for ループを持つプログラムがあります。

for x in range(filelength):
    for y in list(each line from the file):
        use the numbers from each list to perform certain operations

テキスト ファイルからすべての角かっこを解析し、各値をカンマで区切って各行の空のリストに入れることを考えていました (これはおそらく遅くて時間がかかるでしょう)。文字列として表されたリストを、Python の実際のリストに簡単にすばやく変換できます。

ご意見やご提案をいただければ幸いです。

4

2 に答える 2

1

これは「jsonダンプによって生成された」とあなたは言い、各行は有効なJSONのように見えるので、正しいことは各行をJSONとして解析することです:

import json
with open(filename) as f:
    the_lists = map(json.loads, f)

リストを直接反復したいだけなのでloads、ループ内で正しいことを行う方が簡単かもしれません:

import json
with open(filename) as f:
    for line in f:
        for column in json.loads(line):
            # your code here
于 2013-09-17T21:33:13.757 に答える