【问题标题】:Python: Import Tweet unicode data to pandas data frame objectPython:将 Tweet unicode 数据导入 pandas 数据框对象
【发布时间】:2013-06-02 17:18:47
【问题描述】:

我正在尝试导入具有以下结构的文件(推文转储,带有 unicode 字符串)。目标是使用 pandas 模块将其转换为 DataFrame。我假设第一步是加载到一个 json 对象,然后转换为一个 DataFrame(根据 McKinney 的 Python for Data Analysis 书的第 166 页),但我不确定并且可以使用一些指针来管理它。

import sys, tailer
tweet_sample = tailer.head(open(r'<MyFilePath>\usTweets0.json'), 3)
tweet_sample # returns
['{u\'contributors\': None, u\'truncated\': False, u\'text\': u\'@KREAYSHAWN is...

【问题讨论】:

  • 我认为您的示例 python 输出中有错字,它不是正确的 python 对象 atm。
  • @AndyHayden 感谢您查看此内容,是的,我仍然很难将这个“str”对象转换为可用的东西。已尝试:file1 = tweet_sample.encode('utf-8') file2 = json.dumps(file1,encoding='utf-8', separators=(',', ': ')) print file2 "{u'contributors': none, u'truncated': false, u'text':... 对象仍然是字符串,而 json.load 无法提供可行的解决方案。
  • 嗯,如果文本文件中有 u'',您最好使用 ast.literal_eval。也许您可以链接到实际的 json? (如果是字符串,请使用 json.loads (!)。)
  • @AndyHayden 非常有帮助,一直在研究这个并再次签入,那段代码做到了。非常感谢。

标签: python json pandas


【解决方案1】:

只需使用 DataFrame 构造函数...

In [6]: tweet_sample = [{'contributers': None, 'truncated': False, 'text': 'foo'}, {'contributers': None, 'truncated': True, 'text': 'bar'}]

In [7]: df = pd.DataFrame(tweet_sample)

In [8]: df
Out[8]:
  contributers text truncated
0         None  foo     False
1         None  bar      True

如果您有 JSON 格式的文件,您可以使用 json.load 打开它:

import json
with open('<MyFilePath>\usTweets0.json', 'r') as f:
    tweet_sample = json.load(f)

会有一个from_jsonsoon 到熊猫...

【讨论】:

    猜你喜欢
    • 2022-01-27
    • 2019-03-21
    • 2015-12-05
    • 2016-06-17
    • 2019-04-20
    • 1970-01-01
    • 2014-12-17
    • 2020-07-19
    • 1970-01-01
    相关资源
    最近更新 更多