繁体   English   中英

将结果保存到csv文件中,而无需使用Python打开csv

[英]Save results to csv file without open csv with Python

我有功能和数据框,如下所示:

def rand_million()
    df = some calculating
    return df   

df =
       index           boolvalue  
2014-05-21 10:00:00          9.9        
2014-05-21 11:00:00         10.3        
2014-05-21 12:00:00          4.3   
2014-05-21 13:00:00          3.7        
2014-05-21 14:00:00          5.4        
2014-05-21 15:00:00            0 
...

and len(df) = 1000

此数据帧是通过函数调用“ rand_million”计算的,每次结果都会有所不同,我想将函数计算100万次并将其存储到csv。

我希望仅收到一个csv(例如,名为“ simulationresult”),如下所示

1 time        9.9, 10.3, 4.3, 3.7, 5.4, 0, ...    <- 1000 results
2 time        .....                               <- 1000 results

.....

1000000 time  ....                                <- 1000 results

我认为框架看起来像这样:

for i in range(0,10000):
    df = rand_million()
    store df to simulationresult line(i+1)
    clear df    <- "in oder to save memory"
    ...something like this

但是我找不到更好的方法来处理它。 我看到有人尝试计算所有结果,然后一次存储一次,但是在这种情况下,这似乎不是一个好主意。 有谁有更好的主意吗? 提前致谢!

如果我了解您的需求,这应该可以帮助您:

for i in range(1,10001):
    df = rand_million()
    df.to_csv('No_{}.csv'.format(i))

只需将每一行写入csv,然后调用fp.flush() ,其中fp是您要写入的打开文件句柄。 刷新会立即写出该行,因此,如果您的进程在完成所有遍之前都死了,则数据是安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM