从python脚本编写Json文件[重复]

Posted

技术标签:

【中文标题】从python脚本编写Json文件[重复]【英文标题】:writing Json file from python script [duplicate] 【发布时间】:2016-08-11 13:59:49 【问题描述】:

作为初学者,我们正忙于使用 python 中的抓取工具。它几乎完成了,但现在我们想要一个 JSON 文件中的结果。我们试过了,但它不起作用。有没有代码英雄可以帮助我们?

from bs4 import BeautifulSoup
import urllib

jaren = [str("2010"), str("2012")]
DESIRED_COLUMNS = 1, 2, 5  # it is a set

for Jaargetal in jaren:
    r = urllib.urlopen("http://www.nlverkiezingen.com/TK" + Jaargetal +".html").read()
    soup = BeautifulSoup(r, "html.parser")
    tables = soup.find_all("table")

for table in tables:
    header = soup.find_all("h1")[0].getText()
    print header

    trs = table.find_all("tr")[0].getText()
    print '\n'
    for tr in table.find_all("tr")[:22]: 
          print "|".join([x.get_text().replace('\n', '') 
      for index, x in enumerate(tr.find_all('td')) 
      if index in DESIRED_COLUMNS])

【问题讨论】:

这是您的实际代码吗?因为你现在有语法和缩进问题。 @idjaw 我已经更新了代码。现在没有错误了。 您仍然有缩进问题。特别是r = urllib.urlopen("http://www.nlverkiezingen.com/TK" + Jaargetal +".html").read()。那个for循环应该是什么? for Jaargetal in jaren 下面的所有内容都应该在那个循环内吗?你应该确保你的代码是你正在运行的代码的精确表示 对不起,现在代码应该可以工作了。里面有一些尝试的东西。 请仔细看代码。它仍然没有正确缩进。看看for Jaargetal in jaren:。代码没有在该行下方缩进。 【参考方案1】:

您可以像这样将 JSON 写入文件:

import json
d = "foo": "bar"
with open("output.json", "w") as f:
    json.dump(d, f)

【讨论】:

【参考方案2】:

json.dumps() 是函数。它将字典转换为 str 对象。 Docs

【讨论】:

以上是关于从python脚本编写Json文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从多个重复的 json 文件中删除一个文本块,其中文件之间有微小的变化?

在 Python 3.3 中读取 JSON 文件的异常行为 [重复]

在 Python 中从 JSON 数据创建列表和字典 [重复]

使用python脚本从csv文件中删除重复的行

使用来自服务器的响应以 html 输出 [重复]

我无法使用 python 脚本将文件上传到谷歌云?