DataFrame.to_csv throws error #39;[Errno 2] No such file or directory#39;(DataFrame.to_CSV引发错误#39;[Errno 2]没有这样的文件或目录#39;)
本文介绍了DataFrame.to_CSV引发错误';[Errno 2]没有这样的文件或目录';的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将DataFrame写入.csv文件:
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='; ')
这会引发以下错误
Ioerror:[Errno 2]没有这样的文件或目录: ‘/export/market_data/temp/marketData_optam_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选项会抛出错误。我也检查了权限,都很好!
推荐答案
主要问题是,我使用Microsoft Azure Datalake Store来存储那些.csv文件。无论出于何种原因,都无法通过df.to_csv写入Azure Datalake存储区。
由于我尝试使用df.to_csv,我使用的是Pandas DataFrame而不是Spark DataFrame。
我更改为
from pyspark.sql import *
df = spark.createDataFrame(result,['CustomerId', 'SalesAmount'])
然后通过以下行写入CSV
from pyspark.sql import *
df.coalesce(2).write.format("csv").option("header", True).mode("overwrite").save(enrichedDataFile)
而且很管用。
这篇关于DataFrame.to_CSV引发错误';[Errno 2]没有这样的文件或目录';的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:DataFrame.to_CSV引发错误';[Errno 2]没有这样的文件或目录';
基础教程推荐
猜你喜欢
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
