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