【问题标题】:Python json to CSVPython json 到 CSV
【发布时间】:2017-11-30 17:32:31
【问题描述】:

我正在尝试将 json 数据集文件转换为 csv。我对python真的很陌生,一直在看论坛,似乎无法解决我的问题。我在下面附上了 json 数据 url 链接以及我的代码。提前致谢!

https://data.ny.gov/api/views/nqur-w4p7/rows.json?accessType=DOWNLOAD

import json
import csv

    inputFile = ("rows.json?accessType=DOWNLOAD", "r")
    data = json.load(inputFile)

    with open("Data.csv","wb") as csvfile:
      csv_writer = csv.DictWriter(csvfile,delimiter=",", fieldnames=["data", "new_york_state_average_gal", "albany_average_gal", "binghamton_average_gal", "bu\
    ffalo_average_gal", "nassau_average_gal", "new_york_city_average_gal", "rochester_average_gal", "utica_average_gal"])
      csv_writer.writerheader()
      csv_writer.writerows(data)

这是我得到的错误:

  File "ChangeDataType.py", line 5, in <module>
    data = json.load(inputFile)
  File "/usr/lib64/python3.4/json/__init__.py", line 265, in load
    return loads(fp.read(),
AttributeError: 'tuple' object has no attribute 'read'

【问题讨论】:

  • 你漏掉了open这个词...
  • 改成data = json.load(open(inputFile))
  • @DustinSmith 这应该是一个单独的问题。

标签: python json csv


【解决方案1】:

您的错误发生是因为您创建了一个元组:

inputFile = ("rows.json?accessType=DOWNLOAD", "r")

你正试图在那个元组中使用json.load。由于json.load只对文件有效,所以需要调用open函数:

inputFile = open("rows.json?accessType=DOWNLOAD", "r")

"r" 部分表示您正在打开文件进行阅读。

【讨论】:

    猜你喜欢
    • 2015-06-09
    • 2017-07-29
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多