0

我正在使用 beautifulsoup 从一系列网站中抓取 .csv 文件。然后我想立即在同一个脚本中使用它们并将它们存储起来以备后用。目前,当我抓取并保存文件时,脚本无法立即使用它,并且NoneType在尝试将 csv 作为数据帧加载时返回错误。我试图使用

file_to_save.flush()

os.fsync(file_to_save.fileno())

无济于事。我也试过在打开文件时不使用缓冲区file_to_save = open(path + filename, 'wb', 0),但这仍然不起作用。

我的代码如下(resresponse.read()请求的):

file_to_save = open(path + filename, 'wb', 0)
file_to_save.write(res)
file_to_save.flush()
os.fsync(file_to_save.fileno())
file_to_save.close()

当我重新运行脚本时,它会随着文件的保存而工作,并且可以在单独的函数中加载到 df 中。关于如何使文件立即可用的任何想法?

4

1 回答 1

0

我找不到满意的解决方案,以上建议都失败了。

我解决这个问题的方法是将抓取的文件作为 pandas 数据框打开,并通过函数返回这个数据框,以便在 webapp 的其他地方使用。该文件仍被保存并可供下次使用。

于 2018-06-06T10:29:49.313 回答