Streaming Daten für Pandas df

Ich versuche, die Verwendung von Pandas zu simulieren, um auf eine sich ständig ändernde Datei zuzugreifen.

Ich habe eine Datei, die eine CSV-Datei liest, eine Zeile hinzufügt und dann für eine zufällige Zeit schläft, um die Masseneingabe zu simulieren.

import pandas as pd
from time import sleep
import random

df2 = pd.DataFrame(data = [['test','trial']], index=None)

while True:
    df = pd.read_csv('data.csv', header=None)
    df.append(df2)
    df.to_csv('data.csv', index=False)
    sleep(random.uniform(0.025,0.3))

Die zweite Datei prüft auf Datenänderungen, indem sie die Form des Datenrahmens ausgibt:

import pandas as pd

while True:
    df = pd.read_csv('data.csv', header=None, names=['Name','DATE'])
    print(df.shape)

Das Problem dabei ist, dass, während ich die richtige Form des DF erhalte, es bestimmte Zeiten gibt, in denen er ausgegeben wird(0x2).

d. h.:

...
(10x2)
(10x2)
...
(10x2)
(0x2)
(11x2)
(11x2)
...

Dies geschieht umetwa aber nicht zwischenjede Formänderung (die Datei, die zum Datenrahmen hinzugefügt wird).

Wissend, dass dies passiert, wenn das erste Skript die Datei öffnet, um Daten hinzuzufügen, und das zweite Skript nicht darauf zugreifen kann. (0x2). Tritt dann ein Datenverlust auf?

Ich kann nicht direkt auf den Stream zugreifen, sondern nur auf die Ausgabedatei. Oder gibt es noch andere mögliche Lösungen?

Bearbeite

Der Zweck ist, nur die neuen Daten zu laden (ich habe einen Code, der das macht) und die Analyse "on the fly" durchzuführen. Einige der Analysen umfassen Ausgaben pro Sekunde, grafische Darstellungen (ähnlich wie Stream-Plots) und einige andere numerische Berechnungen.

Das größte Problem ist, dass ich nur auf die CSV-Datei zugreifen kann und die Daten ohne Verlust oder Verzögerung analysieren kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage