【问题标题】:Why does Dask change the contents of csv file?为什么 Dask 会更改 csv 文件的内容?
【发布时间】:2019-11-11 17:20:18
【问题描述】:

结论
向 read_csv 添加参数效果很好。
...但是双引号还是没有了。

有帮助的页面
https://www.kaggle.com/szelee/how-to-import-a-csv-file-of-55-million-rows#369081


我通过 Dask 读取 CSV 文件,而没有做任何事情由 dask 写入 CSV 文件。
但是 Dask 改变了 csv 文件的内容。

import os
import dask.dataframe as dd

user_name = os.environ['USERPROFILE'].replace('\\', '/')
dir = user_name + '/Desktop/'

types_dict = {
  'Region': 'object', 
  'Product': 'object',
  'Date': 'object',
  'Sales': 'object'
}
#I changed to the following code. df = dd.read_csv(dir + 'Sales_Data_1.csv')
df = dd.read_csv(dir + 'Sales_Data_1.csv', dtype=types_dict)

# In case of no dtype parameter on read_csv()
# print(df.dtypes)
# Region      object
# Product     object
# Date        object
# Sales      float64
# dtype: object

# Error Occurs
# FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\username\\Desktop\\Sales_Data_1.csv\\1.part'
#df.to_csv(dir + 'Sales_Data_1.csv')

df.compute().to_csv(dir + 'Sales_Data_1_dask.csv', index=False, quotechar = '"', doublequote = True)

我从这个网站下载了 CSV 文件。
https://www.masterdataanalysis.com/ms-excel/analyzing-50-million-records-excel/

Sales_Data_1.csv 和 Sales_Data_1_dask.csv 的区别
diff by Winmerge

【问题讨论】:

    标签: python pandas csv dask


    【解决方案1】:
    # FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\username\\Desktop\\Sales_Data_1.csv\\1.part'
    #df.to_csv(dir + 'Sales_Data_1.csv')
    
    df.compute().to_csv(dir + 'Sales_Data_1_dask.csv', index=False, quotechar = '"', doublequote = True)
    

    Dask 数据帧不写入单个文件(这很难并行执行)。相反,您为它提供了一个目录,它会将许多文件写入该目录。我鼓励您阅读该函数的文档字符串。

    【讨论】:

    • 感谢您的回答。我会认真阅读文档。
    猜你喜欢
    • 1970-01-01
    • 2020-12-25
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多