繁体   English   中英

使用 dask.dataframe 读取 csv 的奇怪警告

[英]Strange warning using dask.dataframe to read csv

我正在使用 dask 数据框模块来读取 csv。

In [3]: from dask import dataframe as dd                                                                               

In [4]: dd.read_csv("/file.csv", sep=",", dtype=str, encoding="utf-8", error_bad_lines=False, collection=True, blocksize=64e6) 

我过去没有问题,但今天出现了一个奇怪的警告:

   FutureWarning: The default value of auto_mkdir=True has been deprecated and will be changed to auto_mkdir=False by default in a future release.
      FutureWarning,

这并没有让我担心,直到我意识到它破坏了我的单元测试,因为当从控制台使用它时,这只是一个警告,但是为我的应用程序设置的测试因此而中断。

有谁知道这个警告的原因或如何摆脱它?

文档自动应答:

  • 问题出现在 fsspec==0.6.3 和 dask==2.12.0 中,将来会被删除。
  • 为防止 pytest 由于警告而失败,请在项目中添加或编辑pytest.ini文件并设置
filterwarnings =
    error
    ignore::UserWarning
  • 如果您希望 dask 完全静音警告,请在函数调用storage_options=dict("auto_mkdir"=True)显式设置它

我得到了同样的东西。 没有找到可能取代该功能的答案,我决定看看是否还需要该功能。 果然,从 Pandas 1.3.0 开始,之前激发该功能的警告不再出现。 所以

pd.read_csv(import_path, error_bad_lines=False, warn_bad_lines=False, names=cols)

简直成了

pd.read_csv(import_path, names=cols)

并且工作正常,没有错误或警告。

暂无
暂无

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

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