2017-01-16 5 views
0

Я получил файл журнала, который необходимо разобрать. Это в формате JSON, но это бревно:файл журнала в формате JSON

{ 
    "device_uuid": "abc", 
    "os_ver": "9.3.1", 
    "device_new": true, 
    "carrier": "Comcast Cable", 
    "model": "iPad Air", 
    "customer_ids": { 
    "customer_id": "abc123" 
    } 
} 
{ 
    "device_uuid": "cde", 
    "os_ver": "10.2", 
    "device_new": true, 
    "carrier": "Frontier Communications", 
    "model": "iPhone 7", 
    "customer_ids": { 
    "customer_id": "cde123" 
    } 
} 
{ 
    "device_uuid": "fgh", 
    "os_ver": "10.2", 
    "device_new": true, 
    "carrier": "ATT", 
    "model": "iPhone 6", 
    "customer_ids": { 
    "customer_id": "fgh123" 
    } 
} 

Моя цель состоит в том, чтобы разобрать вышеуказанный файл журнала в панд dataframe. Какие-либо предложения?

+3

Если Google tinniest немного, вы найдете ответ –

+0

Каждая строка может быть расшифрован с 'json.loads'. – tdelaney

ответ

0

Учитывая приведенные ниже выборочные данные, этот импорт в DataFrame может быть сделано с:

log_lines = pd.concat([pd.read_json(line) for line in my_json_lines]) 

Примечание: Есть plenty of other ways сделать это импорт.

my_json_lines = (
    '{"device_uuid":"abc", "os_ver":"9.3.1", "device_new":true,' 
    '"carrier":"Comcast Cable","model":"iPad Air",' 
    '"customer_ids":{"customer_id":"abc123"}}', 
    '{"device_uuid":"cde","os_ver":"10.2","device_new":true,' 
    '"carrier":"Frontier Communications","model":"iPhone 7",' 
    '"customer_ids":{"customer_id":"cde123"}}', 
    '{"device_uuid":"fgh","os_ver":"10.2","device_new":true,' 
    '"carrier":"ATT","model":"iPhone 6",' 
    '"customer_ids":{"customer_id":"fgh123"}}' 
)