簡體   English   中英

你如何解決'dict' object 沒有屬性'write'?

[英]How do you solve 'dict' object has no attribute 'write'?

我以前沒有使用過 JSON 文件,我想我可能只是對如何提取數據有點迷茫。這是我的代碼:

# Loads data on women breastfeeding in America from the web # 
import urllib.request
import json 
with urllib.request.urlopen("https://chronicdata.cdc.gov/views/8hxn-cvik/rows.json?accessType=DOWNLOAD") as web_data:
    data = json.loads(web_data.read().decode())
    json.dump(data, web_data)

我正在嘗試從互聯網上提取數據,因為鏈接本身是一個網頁視圖,而我的計算機拒絕讓我將其保存到我的計算機上。 我希望能夠操縱數據,但我遇到了幾個問題。 使用上面的代碼,我收到以下錯誤:

---------------------------------------------------------------------------
UnsupportedOperation                      Traceback (most recent call last)
<ipython-input-31-7f3487bc83ea> in <module>()
      6     data = json.loads(web_data.read().decode())
      7     #write_data=data.write()
----> 8     json.dump(data, web_data)

~\OneDrive\Documents\Python stuff\Pythonstuff\lib\json\__init__.py in dump(obj, fp, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)
    178     # a debuggability cost
    179     for chunk in iterable:
--> 180         fp.write(chunk)
    181 
    182 

UnsupportedOperation: write

我嘗試了以下方法,認為它與.read()有關:

import urllib.request
import json 
with urllib.request.urlopen("https://chronicdata.cdc.gov/views/8hxn-cvik/rows.json?accessType=DOWNLOAD") as web_data:
    data = json.loads(web_data.read().decode())
    write_data=data.write()
    json.dump(write_data, web_data)

然后我收到以下錯誤:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-32-7ce187449c36> in <module>()
      5 with urllib.request.urlopen("https://chronicdata.cdc.gov/views/8hxn-cvik/rows.json?accessType=DOWNLOAD") as web_data:
      6     data = json.loads(web_data.read().decode())
----> 7     write_data=data.write()
      8     json.dump(write_data, web_data)

AttributeError: 'dict' object has no attribute 'write'

有人可以幫我指出正確的方向嗎? 我不知道如何打開這個文件並開始操作數據。 我最終希望能夠從那里將一些東西操作到數據框中。

如果我正確理解您的問題,您想將數據寫入文件並將其保存在您的計算機中,對嗎? 然后你應該打開你想要寫入的文件(我在這里稱之為rows.json ):

import urllib.request
import json

with urllib.request.urlopen("https://chronicdata.cdc.gov/views/8hxn-cvik/rows.json?accessType=DOWNLOAD") as web_data:
    data = json.loads(web_data.read().decode())
    with open("rows.json", "w") as out_file:
        json.dump(data, out_file)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM