pythonbeginner

Expand JSON Column into DataFrame Columns

Parse a JSON-string column and expand its keys into separate columns in one step.

python
import pandas as pd
import json

df = pd.DataFrame({'id':[1,2,3],'metadata':['{}','{}','{}']}) 
df['metadata'] = [
    '{"country":"US","tier":"gold","referral":true}',
    '{"country":"UK","tier":"silver","referral":false}',
    '{"country":"DE","tier":"gold","referral":true}',
]

# Expand JSON column
meta_df = df['metadata'].apply(json.loads).apply(pd.Series)
result  = pd.concat([df.drop(columns='metadata'), meta_df], axis=1)
print(result)

Use Cases

  • JSON column expansion
  • metadata parsing
  • ETL flattening

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.