代码之家  ›  专栏  ›  技术社区  ›  STORM

DataFrame.to_csv抛出错误“[Errno 2]没有这样的文件或目录”

  •  0
  • STORM  · 技术社区  · 6 年前

    now = datetime.datetime.now()
    date = now.strftime("%Y-%m-%d")
    
    enrichedDataDir = "/export/market_data/temp"
    enrichedDataFile = enrichedDataDir + "/marketData_optam_" + date + ".csv"
    
    dbutils.fs.ls(enrichedDataDir)
    df.to_csv(enrichedDataFile, sep='; ')
    

    这给我带来了以下错误

    '/export/market\u data/temp/marketData\u optam\u 2018-10-12.csv'

    但当我这么做的时候

    dbutils.fs.ls(enrichedDataDir)
    
    Out[72]: []
    

    enrichedDataDir = "/export/market_data"
    dbutils.fs.ls(enrichedDataDir)
    
    Out[74]: 
    [FileInfo(path=u'dbfs:/export/market_data/temp/', name=u'temp/', size=0L)
     FileInfo(path=u'dbfs:/export/market_data/update/', name=u'update/', size=0L)]
    

    这也行。这对我来说意味着我有所有我想访问的文件夹。但我不知道你的名字 .to_csv

    2 回复  |  直到 6 年前
        1
  •  2
  •   STORM    6 年前

    主要的问题是,我使用Micrsoft Azure Datalake Store来存储那些.csv文件。不管出于什么原因,都不可能通过 df.to_csv

    因为我想用 数据框到\u csv

    我改成

    from pyspark.sql import *
    
    df = spark.createDataFrame(result,['CustomerId', 'SalesAmount'])
    

    from pyspark.sql import *
    
    df.coalesce(2).write.format("csv").option("header", True).mode("overwrite").save(enrichedDataFile) 
    

    而且很有效。

        2
  •  2
  •   maoyang    4 年前

    如果您想将文件从DBFS加载到Pandas数据帧,可以使用以下技巧。

    1. %fs cp dbfs:/FileStore/tables/data.csv文件:/FileStore/tables/data.csv

    2. 从文件目录读取数据

      data=pd.read\u csv('文件:/FileStore/tables/data.csv')

        3
  •  0
  •   user10417531 user10417531    6 年前

    你试过先打开文件吗(用下面的代码替换第一个示例的最后一行)

    from os import makedirs
    makedirs(enrichedDataDir)
    
    with open(enrichedDataFile, 'w') as output_file:
        df.to_csv(output_file, sep='; ')