2017-01-21 8 views
1

私は2つの別々のファイルから2つのリストを作成しました。私は新しいフォーマットにそれらを再作成したいと思います。私は以下のコードを持っているが、私は文書化する書面にこだわっている部分:リストから新しいテキストファイル形式への文の再結合

newJson = open("https://stackoverflow.com/users/skylake/desktop/newJson.txt", "w") 
with open("https://stackoverflow.com/users/skylake/desktop/newNodeData.txt", "r") as f: 
    content = f.readlines() 
content =[x.strip() for x in content] 

with open("https://stackoverflow.com/users/skylake/desktop/newNodeData2.txt", "r") as d: 
    dcontent = d.readlines() 
dcontent =[x.strip() for x in dcontent] 

#JSON format 
"""{"id": , "label":}""" 
for i in range(len(dcontent)): 
    jsonData = '{"id":', content[i] + ',', '"label":', dcontent[i]+'}' 
    newJson.write(jsonData) 

は、今私が.write内の引数が文字列でないタプルでなければならないというエラーを取得しています。

答えて

1

変数jsonDataを作成すると、刺しゅうをコンマで分割して、jsonDataをタプルにするという問題があります。

これを試してみてください:

#JSON format 
"""{"id": , "label":}""" 
for i in range(len(dcontent)): 
    jsonData = '{"id":', content[i] + ',', '"label":', dcontent[i]+'}' 
    newJson.write("".join(jsonData)) 

それともこれを。

#JSON format 
"""{"id": , "label":}""" 
for i in range(len(dcontent)): 
    jsonData = '{"id":'+ content[i] + ','+ '"label":'+ dcontent[i]+'}' 
    newJson.write(jsonData) 
+1

はい、機能しました。私はJSONフォーマットを正しく使う方法を学ばなければなりませんが、これは今のところできます。 – Quintakov

+0

範囲の終わりの前にコードが10回書くのを止める理由はありますか?私のリストには265の項目があり、スクリプトの作成が終了すると、書かれたjsonDataテキストに244が作成されました。 – Quintakov

+1

これは奇妙です。私は、 'write'を' print'に置き換えることによって、あなたのスクリプトをspyderまたはjupyterノートブックでデバッグしようとします。それはあなたの問題を明らかにするかもしれません。 –

関連する問題