首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转储JSON文件,然后保存到列表

转储JSON文件,然后保存到列表
EN

Stack Overflow用户
提问于 2014-02-11 22:41:51
回答 1查看 1.7K关注 0票数 0

这是我的密码:

代码语言:javascript
复制
with open('step3_desired_output.txt') as f, open('jout.txt', 'w') as fout:
    for line in f:
        jline = json.dumps(line)
        #jline2 = jline['Title']+'\t['+jline['"'+'Actor'+'"']+']'+'\n'
        print jline2

我正在将一个JSON文件转储到Python中,然后将一些值组合起来形成字符串。稍后,我将使用pydot解析该文件。

将json数据转储到python (jline变量)中的字符串后,下面是ouptput:

代码语言:javascript
复制
"{\"Title\":\"The Shawshank Redemption\",\"Year\":\"1994\",\"Rated\":\"R\",\"Actors\":\"Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler\",\"Plot\":

像这样有多条线。我希望将标题和前4个Actor值从每一行输出到一个文本文件中,如下所示:

代码语言:javascript
复制
Title   ["Actor","Actor","Actor","Actor"]

输出为TypeError:字符串索引必须是整数,而不是str。

最后,更新了,我走了一个不同的方向,做了以下工作:

代码语言:javascript
复制
file = open('step3_desired_output.txt','rU')
nfile = codecs.open('step4.txt','w','utf-8')
movie_actors = []
for line in file:
  line = line.rstrip()
  movie = json.loads(line)
  l = []
  title = movie['Title']
  actors = movie['Actors']
  tempactorslist = actors.split(',')
  actorslist = []
  for actor in tempactorslist:
    actor = actor.strip()
    actorslist.append(actor)
  l.append(title)
  l.append(actorslist)
  row = l[0] + '\t' + json.dumps(l[1]) + '\n'
  nfile.writelines(row)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-11 22:46:37

jline = json.dumps(line)更改为jline = json.loads(line)

编辑:您将具有以下结构:

代码语言:javascript
复制
{'Title': 'The Shawshank Redemption',
 'Year': '1994',
 'Rated': 'R',
 'Actors': 'Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler'}

然后你就可以:

代码语言:javascript
复制
jline2 = {jline['Title']: jline['Actors'].split(', ')}

因此,jline2将是以下内容:

代码语言:javascript
复制
{'The Shawshank Redemption': ['Tim Robbins',
                              'Morgan Freeman',
                              'Bob Gunton',
                              'William Sadler'] }

这种结构很容易被穿越。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21714698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档