簡體   English   中英

將 JSON 文件導入 Python 字典格式時遇到問題

[英]Having Trouble Importing JSON file into Python Dictionary format

我在導入 json 文件(從 USPTO 網站下載)時遇到問題 - 這是數據的外觀:

JSON 文件的圖像

我嘗試使用的代碼是:

   import json
   with open('2020.json') as json_file:
        data = json.load(json_file)

我收到一個錯誤“期望':'分隔符:第 1 行第 20 列,顯示圖像。

我嘗試將 position 處的“,”更改為“:”,並且數據似乎可以很好地作為字典加載到“數據”變量中。 但是,當我運行 print(len(data)) 時,它返回“1”。

條目數顯然不是“1”。 我希望最終能夠將數據轉換為 dataframe 以進行進一步的數據操作。 有關如何糾正此問題的任何建議?

謝謝!

我認為該文件可能包含一些只能以二進制格式讀取的奇怪字符。 這在 Windows 上的 Python 3.7 中對我有用:

>>> import json
>>> with open('2020.json', 'rb') as f:
...     data = json.loads(f.read())
...
>>> type(data)
<class 'dict'>
>>> len(data.keys())
1
>>> list(data.keys())
['PatentBulkData']
>>>

如果不使用 'rb' 作為格式,我得到了一些奇怪的東西(盡管與您看到的不同:

>>> f = open('2020.json', 'r')
>>> json.load(f)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python37\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Python37\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 11411895: character maps to <undefined>

同樣在將來,包含 json 文件的來源(如果可公開下載)的位置可能會很有用。 (我相信)我從這里找到它https://ped.uspto.gov/peds/

暫無
暫無

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

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