我在以下結構中有一個帶有陣列列的資料框:
| 值A | 值 B |
|---|---|
| 第一的 | [{"posts":[{"body":"post A"},{"body":"post B"},{"body":"post C"}],"subject":[{"id" :"5571196","name":"作者 A","timestamp":"2021-10-20T08:41:09.124Z"},{"id":"1076004","name":"作者 B", "timestamp":"2021-12-25T07:34:27.524Z"},{"id":"1077532","name":"作者 C","timestamp":"2022-10-10T20:48:27.416 Z"}],"communityName":"烹飪"}] |
JSON結構:
[{
"posts": [{
"body": "post A"
}, {
"body": "post B"
}, {
"body": "post C"
}],
"subject": [{
"id": "5571196",
"name": "author A",
"timestamp": "2021-10-20T08:41:09.124Z"
}, {
"id": "1076004",
"name": "author B",
"timestamp": "2021-12-25T07:34:27.524Z"
}, {
"id": "1077532",
"name": "author C",
"timestamp": "2022-10-10T20:48:27.416Z"
}],
"communityName": "Cooking"
}]
期望的輸出:
| 值 A | 帖子正文 | 作者 | 作者 ID | 時間戳 | 社區名字 |
|---|---|---|---|---|---|
| 第一的 | 后一個 | 作者A | 5571196 | 2021-10-20T08:41:09.124Z | 烹飪 |
| 第一的 | 后乙 | 作者 B | 1076004 | 2021-12-25T07:34:27.524Z | 烹飪 |
| 第一的 | C后 | 作者 C | 1077532 | 2022-10-10T20:48:27.416Z | 烹飪 |
我最初的方法是分別分解帖子陣列,然后分解主題陣列并加入它們,但我不斷得到
| 值 A | 帖子正文 | 作者 | 作者 ID | 時間戳 | 社區名字 |
|---|---|---|---|---|---|
| 第一的 | 后一個 | 作者A | 5571196 | 2021-10-20T08:41:09.124Z | 烹飪 |
| 第一的 | 后乙 | 作者A | 5571196 | 2021-10-20T08:41:09.124Z | 烹飪 |
| 第一的 | C后 | 作者A | 5571196 | 2021-10-20T08:41:09.124Z | 烹飪 |
| 第一的 | 后一個 | 作者 B | 1076004 | 2021-12-25T07:34:27.524Z | 烹飪 |
| 第一的 | 后乙 | 作者 B | 1076004 | 2021-12-25T07:34:27.524Z | 烹飪 |
| 第一的 | C后 | 作者 B | 1076004 | 2021-12-25T07:34:27.524Z | 烹飪 |
| 第一的 | 后一個 | 作者 C | 1077532 | 2022-10-10T20:48:27.416Z | 烹飪 |
| 第一的 | 后乙 | 作者 C | 1077532 | 2022-10-10T20:48:27.416Z | 烹飪 |
| 第一的 | C后 | 作者 C | 1077532 | 2022-10-10T20:48:27.416Z | 烹飪 |
如何正確映射相應的帖子和作者并獲得所需的輸出?
uj5u.com熱心網友回復:
如果 json 格式始終如您的示例中所示:
- 使用 json 模塊讀取
valueB-->中的字串stuff stuff是一個包含一個專案的串列,所以stuff = stuff[0]- 正文和帖子在資料中的位置相關聯,因此壓縮它們然后迭代
for (body,post) in zip(stuff['posts'],stuff['subject']):- 產生字典對
{'body': 'mediterranean chicken kebab recipe'} {'id': '5571196', 'name': 'kayla obrien', 'timestamp': '2021-10-20T08:41:09.124Z'}
- 產生字典對
- 使用字典鍵提取您想要的資訊并構造一個串列串列或可以提供給 DataFrame 的東西
- 或者也許只是結合這些字典來提供給 DataFrame
body.update(post)
{'body': 'mediterranean chicken kebab recipe', 'id': '5571196', 'name': 'kayla obrien', 'timestamp': '2021-10-20T08:41:09.124Z'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/519939.html
