私は最初の行にリストを含むテキストファイルを持っています。 ファイルを読み取り、最初の行をリストに保存するにはどうすればよいですか? 最初の行を文字列ではなく完全なリストとして保存したいとします。テキストファイルからリストを保存する
テキストファイルの例:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
私は最初の行にリストを含むテキストファイルを持っています。 ファイルを読み取り、最初の行をリストに保存するにはどうすればよいですか? 最初の行を文字列ではなく完全なリストとして保存したいとします。テキストファイルからリストを保存する
テキストファイルの例:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
あなたのデータが有効なJSONであるように見えます:
>>> import json
>>> json.loads('[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]')
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
ファイルからロードするには:同様に
with open('my_file.txt') as f:
my_list = json.load(f)
、yaml.load
とast.literal_eval
もそのデータを処理できます。
あなたはast
モジュールを使用することができます
import ast
s = '[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]'
s = ast.literal_eval(s)
print s, type(s)
>>> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] <type 'list'>
あなたは以下のようなast.literal_eval()
を使用することができます:あなたは、文字列を評価するためにast.literal_eval()
を使うべき理由
>>> import ast
>>>
>>> ast.literal_eval('[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]')
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
をこれがある:
AST .literal_eval(node_or_string)
表現ノードまたは をPythonリテラルまたはコンテナ表示を含む文字列で安全に評価します。文字列 または提供されるノードは、文字列、バイト、数字、タプル、リスト、辞書、セット、 ブーリアン、およびなしという、次のPythonリテラル 構造のみで構成されます。
2 upvotes?明らかにOPの試みはありません。 –