1
jsonドキュメントがあるとします: {"glossary":{"GlossDiv":{"GlossList":{"GlossEntry":{"GlossDef":{"GlossSeeAlso":[" XML、XLS "]}}}}}}jsonドキュメントフィルタリングのためのパンダの使用
私はpandas.io.normalizeを使用して、それをデータフレーム構造にフラット化します。その後、データフレームにjsonクエリに一致する行があるかどうかを検索する場合は、ex: {"glossary":{"GlossDiv":{"GlossList":{"GlossEntry":{"GlossDef":{"GlossSeeAlso" [」XLS」]}}}}}}
file1.json:
[{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
},
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML","DSG"]
},
"GlossSee": "markup"
}
}
}
}
}]
file2.json:
{“glossary":{“GlossDiv":{“GlossList":{“GlossEntry":{“GlossDef":{“GlossSeeAlso”:[“DSG"]}}}}}}
出力として1行を期待。
どうすれば同じことをやりますか? と仮定file1.jsonはfile2.jsonに存在する単一のJSONレコード
import pandas as pd
from pandas.io.json import json_normalize
file1=open('file1.json')
file2=open('file2.json')
records = json.load(file1)
df = json_normalize(records)
filter_record=json.load(file2)
#Need to filter df such that all the rows satisfy column values in filter_record
# Code :
は、あなたがより多くのデータを追加することができますをし、データフレームのコードですか?ネストされたキーは '.'で区切られたカラム名を作成しますか? – jezrael
が追加されました。はいネストされたキーは、で区切られたカラム名に変換されます。 –
ありがとうございます。しかし、より多くの行のサンプルデータがなくても、あなたのサンプルでは、1列のデータフレームが1行しか得られません。実際のデータには多くの列がありますか?それ以上の行?または両方? – jezrael