Tentando trabalhar com esse código, não consegui imprimir o resultado esperado. Ambas as variáveis mobile
e desktop
permanecem zeradas.
Tentei dar um print
para verificar como estava sendo processado o código e descobri que para cada device in obj[deviceType]
, device imprime letra por letra, e não o mobile
ou desktop
.
Como poderia resolver isso?
import jsonlines
with jsonlines.open('ecommerce-events.ndjson') as reader:
revenue = 0
mobile = 0
desktop = 0
for obj in reader:
eT = obj['eventType']
if eT == 'page':
for device in obj['deviceType']:
if device == 'mobile':
mobile += 1
elif device == 'desktop':
desktop += 1
print(mobile)
print(desktop)
O arquivo JSON pode ser baixado em https://s3.amazonaws.com/ml-challenge/ecommerce-events.ndjson.xz