Pandasd的流数据

2024-04-19 17:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图模拟熊猫访问不断变化的文件。

我有一个文件读取csv文件,在其中添加一行,然后随机休眠一段时间来模拟批量输入。

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))

第二个文件通过输出数据帧的形状来检查数据的更改:

import pandas as pd

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

问题是当我得到正确的DF形状时,有时它会输出(0x2)

即:

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

这确实发生在一些处,但不是在每个形状变化之间(添加到dataframe的文件)。

当第一个脚本打开文件添加数据,而第二个脚本无法访问它时(0x2),会发生这种情况吗?

我不能直接访问流,只能访问输出文件。或者还有其他可能的解决方案吗?

编辑

这样做的目的是只加载新数据(我有一个这样做的代码)并“动态”进行分析。一些分析将包括输出/秒、绘图(类似于流图)和很少的其他数值计算。

最大的问题是我只能访问csv文件,我需要能够分析数据,因为它来没有损失或延迟。


Tags: 文件csv数据importnonepandasdfdata