【问题标题】:Convert Tweet string in text file to JSON object in Python将文本文件中的推文字符串转换为 Python 中的 JSON 对象
【发布时间】:2016-03-31 04:06:00
【问题描述】:

这是我存储在名为file.txttxt 文件中的示例字符串:

{
    "created_at":"Wed Mar 30 23:13:12 +0000 2013",
    "id":3712307838977,
    "id_str":"12307838977",
    "timestamp_ms":"7392180”
}

此数据与推文相关,并且每条推文都位于文本文件的新行中。

现在我正在使用以下代码将其加载到 python 中:

with open(test_file, 'r') as f:
    data = f.read().split('\n')

这给了我每条推文的字符串列表。我想将其转换为 json 对象,以便可以执行以下操作:

for tweet in data:
    created = tweet["created_at']

但是,我在尝试使用 json.loads(tweet) 时遇到了许多不同类型的错误。有什么帮助吗?

【问题讨论】:

  • 你能分享你的错误信息吗?

标签: python json twitter


【解决方案1】:

您最有可能发生的问题是因为您的字符串的这一部分:

"timestamp_ms":"7392180”

更具体地说,最后引用

你最有可能得到这个错误:

json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 105 (char 104)

我不知道你是如何生成这个文件的,但是通过修复它并使用这个双引号 " 转换是有效的。

import json

with open('new_file.txt', 'r') as f:
    json_data = json.loads(f.read().strip())


for data in json_data:
    print(json_data[data])

输出:

3712307838977
12307838977
7392180
Wed Mar 30 23:13:12 +0000 2013

【讨论】:

  • 谢谢@idjaw!在一个小错误上卡了这么长时间令人沮丧,但我现在确实可以正常工作。
猜你喜欢
  • 2017-08-09
  • 2021-06-17
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 2014-03-25
  • 2020-10-06
  • 2021-02-05
相关资源
最近更新 更多