Мне интересно, есть ли у кого-нибудь предложение о том, как импортировать вложенные JSON данные в качестве Dataframe или словаря? Соответствующие данные обычно доступны здесь - https://ped.uspto.gov/peds/.
Вот пример формата данных:
{
"PatentBulkData":[
{
"patentCaseMetadata":{
"applicationNumberText":{
"value":"16732342",
"electronicText":"16732342"
},
"filingDate":"2020-01-01",
"applicationTypeCategory":"Utility",
"partyBag":{
"applicantBagOrInventorBagOrOwnerBag":[
{
"primaryExaminerOrAssistantExaminerOrAuthorizedOfficer":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"personFullName":"VO, PETER DUNG BA"
}
]
}
}
]
},
{
"applicant":[
{
"contactOrPublicationContact":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"organizationStandardName":{
"content":[
"CYNTEC CO., LTD."
]
}
}
]
},
"cityName":"Hsinchu",
"geographicRegionName":{
"value":"",
"geographicRegionCategory":"STATE"
},
"countryCode":"TW"
}
]
}
]
}
]
},
"groupArtUnitNumber":{
"value":"3729",
"electronicText":"3729"
},
"applicationConfirmationNumber":"1040",
"applicantFileReference":"6101.179US",
"patentClassificationBag":{
"cpcClassificationBagOrIPCClassificationOrECLAClassificationBag":[
{
"ipOfficeCode":"US",
"mainNationalClassification":{
"nationalClass":"029",
"nationalSubclass":"602100"
}
}
]
},
"businessEntityStatusCategory":"UNDISCOUNTED",
"firstInventorToFileIndicator":"true",
"inventionTitle":{
"content":[
"INDUCTOR WITH AN ELECTRODE STRUCTURE"
]
},
"applicationStatusCategory":"Docketed New Case - Ready for Examination",
"applicationStatusDate":"2020-04-27",
"officialFileLocationCategory":"ELECTRONIC",
"patentPublicationIdentification":{
"publicationNumber":"US20200135386A1",
"publicationDate":"2020-04-30"
}
},
"assignmentDataBag":{
"assignmentData":[
{
"reelNumber":"51406",
"frameNumber":"55",
"documentReceivedDate":"2020-01-03",
"recordedDate":"2020-01-03",
"mailDate":"2020-01-06",
"pageTotalQuantity":3,
"conveyanceText":"ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).",
"assignorBag":{
"assignor":[
{
"executionDate":"2020-01-02",
"contactOrPublicationContact":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"value":"LEE, CHI-HSUN"
}
]
}
}
]
},
{
"executionDate":"2020-01-02",
"contactOrPublicationContact":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"value":"HSIEH, HSIEH-SHEN"
}
]
}
}
]
},
{
"executionDate":"2020-01-02",
"contactOrPublicationContact":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"value":"CHEN, SEN-HUEI"
}
]
}
}
]
}
]
},
"assigneeBag":{
"assignee":[
{
"contactOrPublicationContact":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"value":"CYNTEC CO., LTD."
}
]
},
"postalAddressBag":{
"postalAddress":[
{
"postalAddressText":[
{
"sequenceNumber":"1",
"value":"NO. 2, RESEARCH & DEVELOPMENT 2ND RD."
},
{
"sequenceNumber":"2",
"value":"SCIENCE PARK"
},
{
"sequenceNumber":"3",
"value":"HSINCHU TAIWAN"
}
]
}
]
}
}
]
}
]
},
"correspondenceAddress":{
"partyIdentifierOrContact":[
{
"name":{
"personNameOrOrganizationNameOrEntityName":[
{
"value":"LITRON INTERNATIONAL PATENT & TRADEMARK OFFICE"
}
]
},
"postalAddressBag":{
"postalAddress":[
{
"postalAddressText":[
{
"sequenceNumber":"1",
"value":"11F.-2, NO.248, SEC. 3, NANJING E. RD."
},
{
"sequenceNumber":"2",
"value":"TAIPEI CITY, TAIWAN"
}
]
}
]
}
}
]
},
"sequenceNumber":"1"
}
],
"assignmentTotalQuantity":1
},
"st96Version":"V3_1",
"ipoVersion":"US_V8_0"
},
Я ввожу данные со следующим:
import json
import pandas as pd
with open('/content/drive/My Drive/2020.json') as json_file:
data = json.load(json_file)
Хотя это действительно создает словарь, он вводится в «PatentBulkData». Таким образом, оставшаяся часть данных представляет собой список. Другими словами, когда я запускаю
print(type(data['PatentBulkData']))
Типом является «список».
В идеале я хотел бы go вниз еще на один уровень, чтобы создать словарь на основе в тексте номера заявки, имени эксперта и сумке с историей обвинения (пример с сумкой истории судебного преследования можно найти здесь - Лучший способ извлечения / форматирования данных в формате JSON с использованием Python? ).
Цель этого состоит в том, чтобы привести данные в такой формат, чтобы я мог проводить аналитику на основе экзаменатора, кандидата и т. Д. c.
Я считаю, что данные также доступны в * Формат 1031 * - не будет ли XML проще?
Будем признательны за любые предложения. Спасибо!