Saya memiliki kerangka data yang berasal dari SharePoint (Microsoft), dan memiliki banyak json di dalam sel dengan metadata. saya biasanya tidak bekerja dengan json, jadi saya berjuang dengan itu.

# df sample

+-------------+----------+
| Id          | Event    |
+-------------+----------+
| 105         | x        |
+-------------+----------+
x = {"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference","Id":1,"Value":"Digital Training"}

Bagaimana saya menetapkan nilai "Pelatihan Digital" saja ke sel, misalnya? mengingat bahwa ini terjadi untuk banyak kolom, dan saya harus menyelesaikannya juga. Terima kasih.

0
Felipe Ribeiro 5 Juli 2020, 15:55

1 menjawab

Jawaban Terbaik

Jika kolom acara terdiri dari dict-objek:

df['Value'] = df.apply(lambda x: x['Event']['Value'], 1)

Jika kolom acara memiliki objek string:

import json
df['Value'] = df.apply(lambda x: json.loads(x['Event'])['Value'], 1)

Keduanya menghasilkan

    Id  Event                                               Value
0   x   {"@odata.type":"#Microsoft.Azure.Connectors.Sh...   Digital Training
2
pythonic833 5 Juli 2020, 13:04