PyTables / Pandas:在上下文中写入HDFStore是否安全?

时间:2018-07-08 18:24:28

标签: python pandas pytables

我正在尝试使我的代码更具弹性,以防止您很少见到的那种问题,但这只是时间问题,直到它们发生。

这段特定的代码是从MongoDB中获取行,进行一些解析,然后将已解析的行转换为只有一行的pandas DataFrame,现在我要存储它。 HDF文件具有良好的读取属性和一些良好的写入属性(例如,追加一个DataFrame行),但我不清楚写入是否安全。

从原理上讲,这是我关注的代码:

import pandas as pd

# some stuff....

for row in mongo:
    row_parsed = parse(row)
    df = pd.DataFrame(row_parsed)
    with pd.HDFStore(filepath) as store:
        store.append(key=key, value=df, format="table")

我的问题是:这有多安全?例如,如果with上下文内发生各种问题(例如异常或电源中断),HDF文件是否会损坏?

根据PyTables documentation,对于断电情况,答案似乎是肯定的,它可能会损坏。但是,对于各种异常或系统事件,答案应该完全取决于with上下文在做什么,对吗?那么,我应该认为我受到保护吗?

0 个答案:

没有答案