Используйте pandas chunksize с живыми данными - PullRequest
0 голосов
/ 26 февраля 2020

Я делаю GUI для обработки данных в реальном времени, но датчики, с которых я получаю данные, могут работать в течение нескольких часов, создавая миллионы точек данных (3,6 миллиона в час), поэтому я хочу читать только в части данных в любой момент времени. Я пытаюсь использовать параметр chunksize с read_csv следующим образом:

import pandas as pd


try:
    if clap1.get()==1:
        #data1 = pd.read_csv('test1.csv')
        chunksize = 10000
        data1 = pd.read_csv('test1.csv', chunksize=chunksize)
        print(data1[:10])
        x1=data1['x_value']/60000
        y1=set_y(data1)


        if max_points == 'all':
            xlim_low, xlim_high = sensor_graph.get_xlim()
            buff = 0.1 * xlim_high
        elif x1.max() > max_points:
            xlim_low = x1.max()-max_points
            buff = 0.1 * max_points
        else:
            xlim_low, xlim_high = sensor_graph.get_xlim()
            buff = 0.1 * xlim_high

        sensor_graph.set_xlim(xlim_low, (x1.max() + buff))

        if sccs[0] == colors[0]:
            sccs[0] = colors_prime[0]

        lines[0], = sensor_graph.plot(x1, y1, label=sensor_list[0], color=sccs[0])
        checks[0] = 1
    elif  clap1.get()==0 and checks[0]==1:
        sensor_graph.clear()

        if pres_set.get():
            init_pres()
        elif temp_set.get():
            init_temp()
        sensor_graph.set_xlabel('Time (min)')
        checks[0] = 0

С параметром except просто отображается сообщение об ошибке. По какой-то причине это возвращает ошибку, как только я пытаюсь прочитать данные в data1, и выдает мне вышеупомянутое сообщение об ошибке. Кто-нибудь знает, что я могу делать неправильно и как лучше сформулировать логи c?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...