2017-03-20 2 views
1

私はテキストファイルに書きたいリストのリストを持っています。次に、そのテキストファイルを読んでリストのリストを編集し、再びテキストファイルに書き戻す必要があります。Pythonからテキストファイルへのfloat形式のリストのリスト

ここでは、文字列形式では書き込めません。だから、私がそれを読むと、それが文字列になるので、私は必要な変更を加えることができません。私の場合のために

、リストのリストが

A = [[0,[0.0,1010.0,10.0],[10.0,1110.0,10.0]],[0,[10.0,1011.0,15.0],[15.0,1111.0,19.0]]]

のように見える私はこの問題のいずれかの解決策を見つけることができませんでした。どんな助けも高く評価されます。

注:Aを読み込んでフロートに変換しようとすると、[をフロートに変換しようとしていました。したがって、それは動作しませんでした。

+0

"float(str)"関数は文字列を入力として受け入れ、floatに変換します。 - これはあなたを助けないのですか? – MSD

+1

あなたはそのままの状態でダンプし、 'ast.literal_eval'を使って読み返すべきです。 –

+0

float(str)は、すべての1桁、角括弧、カンマをfloatに変換しようとするため、機能しません。 – Abhijit

答えて

0

ファイルにそのままダンプする必要があります。これにはさまざまな方法がありますが、1つの方法はjsonです。あなたが行うことができ、それをロードするために

import json 
A=[[0,[0.0,1010.0,10.0],[10.0,1110.0,10.0]],[0,[10.0,1011.0,15.0],[15.0,1111.0,19.0]]] 
json.dump(A, open("file.txt","w")) # your file path 

json.load(open("file.txt")) 

もう一つの方法は、リストの文字列としてファイルをダンプし、ジャン=フランソワにより示唆されるようast.literal_evalを使用して、それを取得しています。

関連する問題