簡體   English   中英

如何在python中讀取大型.jl文件

[英]How to read a large .jl file in python

我正在嘗試讀取以下數據集並將其轉換為 Pandas 數據框:
https://www.kaggle.com/marlesson/meli-data-challenge-2020

它是一個包含以下格式行的文件:

{'event_info': '...', 'event_timestamp': '...', 'event_type': '...'}
{'event_info': '...', 'event_timestamp': '...', 'event_type': '...'}
{'event_info': '...', 'event_timestamp': '...', 'event_type': '...'}

我一直在嘗試以下操作,但花費的時間太長(+60 分鍾):

import numpy as np
import pandas as pd
import fileinput
import json

%%time

df = pd.DataFrame()
with fileinput.input(files='/kaggle/input/meli-data-challenge-2020/train_dataset.jl') as file:
    for line in file:
        conv = json.loads(line)
        df = df.append(conv, ignore_index=True)
df.head()

在這段代碼中,它將文件作為字符串逐行讀取,將每個文件都轉換為 json,然后將其附加到數據幀中。

有什么方法可以更快地將數據集轉換為 Pandas 數據框?

我試圖讀取的文件是一個包含多個對象的 JSON 文件。 Pandas read_json()支持這樣的數據lines參數:

%%time

df = pd.read_json('/kaggle/input/meli-data-challenge-2020/item_data.jl', lines=True)

Output: CPU times: user 14.1 s, sys: 3.31 s, total: 17.4 s
Wall time: 18.6 s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM