2017-06-05 8 views
1
Name: Donald J. Trump 
Username: @realDonaldTrump 
Post: I look forward to paying my respects to our brave men and women on this Memorial Day at Arlington National Cemetery later this morning. 
post's link: https://twitter.com/realDonaldTrump/status/869170615881793536 
Replies: 16,259 replies 
Retweet: 15,103 retweets 
Likes: 90,839 likes 
Date: 5:36 AM - 29 May 2017 

こんにちは、すべて私のfirst.txtファイル内のデータの各チャンクのフォーマットです。私はそれを読んで、それを以下のようなjson形式に変更し、それをsecond.txtファイルに保存したいと思います。Python - json形式に.txtコンテンツを変換する

def convert_to_json(path, name, username, post, link, replies, retweets, likes, retweetby, date, domainname): 
with open(path, 'a') as file: 
    stringData = [{"ContentUrl": link, 
    "Text": post, 
    "PublishDate": date.strip(), 
    "Title": "", 
    "SourceUrl": domainname, 
    "SocialNetwork": media, 
    "Source": "", 
    "Author": name, 
    "Like_count": likes.strip(), 
    "Replies_count": replies.strip(), 
    "Retweets_count": retweets.strip(), 
    "Schema": "SOCIAL_MEDIA"}] 

    objData = json.load(stringData) 
    file.write(stringData) 

上記のコードは、データを取り込んでそれをsecond.txtファイルに追加することを想定していました。しかし、私のコードでは、自分のsecond.txtファイルに必要なデータを追加することはできませんでした。明らかなエラーはコンソールには表示されませんでした。私はここですべての専門家からの提案と助けを求めています。

答えて

0
  1. ではなく、負荷
  2. のjson.dumpsを試してみてくださいなぜあなたはリストでのdictラップしていますか?
  3. json.dumpsの結果をファイルに書き込み、いないオブジェクト

    with open(path, 'a+') as file: 
        stringData = {"ContentUrl": link, 
        "Text": post, 
        "PublishDate": date.strip(), 
        "Title": "", 
        "SourceUrl": domainname, 
        "SocialNetwork": media, 
        "Source": "", 
        "Author": name, 
        "Like_count": likes.strip(), 
        "Replies_count": replies.strip(), 
        "Retweets_count": retweets.strip(), 
        "Schema": "SOCIAL_MEDIA"} 
    
        objData = json.dumps(stringData) 
        file.write(objData) 
    
+0

こんにちは!主に私の.txtファイルにたくさんのチャンクがあるので、データの各チャンクをセットにしたいので、リストでラップします。 – NewbieCoder

+0

私はこれが余分だと思う、あなたの場合、すべてのチャンクはファイル内の新しい文字列になります。私の答えを見てください – vZ10

+0

ありがとうございました。それは正常に動作します。 – NewbieCoder

0

json.loadは正しく使用されていません。このようにそれを試してみてください。

record = {"ContentUrl": link, 
    "Text": post, 
    "PublishDate": date.strip(), 
    "Title": "", 
    "SourceUrl": domainname, 
    "SocialNetwork": media, 
    "Source": "", 
    "Author": name, 
    "Like_count": likes.strip(), 
    "Replies_count": replies.strip(), 
    "Retweets_count": retweets.strip(), 
    "Schema": "SOCIAL_MEDIA"} 

with open(path, 'a') as file: 
    objData = json.load(file) 
    objData.append(record) 
    file.write(json.dumps(objData)) 
+0

こんにちは!私は上記の方法を使用してみましたが、私はまだ同じ結果を持っています。データは.txtファイルに追加されませんでした。 – NewbieCoder

0

stringData)リストにすべてのデータを追加し、最終的に

を使用して、第2のファイルに stringDataを書きます
stringData = [] #init 

def addToDataToBeWritten(path, name, username, post, link, replies, retweets, likes, retweetby, date, domainname):  

    row = {"ContentUrl": link, 
    "Text": post, 
    "PublishDate": date.strip(), 
    "Title": "", 
    "SourceUrl": domainname, 
    "SocialNetwork": media, 
    "Source": "", 
    "Author": name, 
    "Like_count": likes.strip(), 
    "Replies_count": replies.strip(), 
    "Retweets_count": retweets.strip(), 
    "Schema": "SOCIAL_MEDIA"} 
    stringData.append(raw) 

''' Read and call the method here''' 
with open(path, 'w') as file: 
    file.write(json.dumps(stringData)) 
関連する問題