我有一个CSV文件,我正在Azure Databrick中使用Python创建该文件。这是获取一个数据帧并从中生成一个CSV文件。问题是,当数据框中存在空值时,输出为2个双引号,即“”
示例输出
L1Code L1 Desc1 L1 Desc2 L1 Desc3 L2Code
Beverage Beverage "" "" Drink Blends
这是我用来生成文件的代码,其中df是一个已经创建的数据帧
from pyspark.sql import SQLContext
def createCsvFile(data, rootPath, filePath):
data.coalesce(1).write.mode("overwrite").format("com.databricks.spark.csv").option("header", "true").option("delimiter", "\t").option("quoteMode", "NONE").csv(rootPath + filePath + ".tmp")
fileList = dbutils.fs.ls(rootPath + filePath + ".tmp/")
for file in fileList:
if file.name.endswith("csv"):
filename = file.path
dbutils.fs.cp(filename, rootPath + filePath + ".txt")
dbutils.fs.rm(rootPath + filePath + ".tmp", recurse=True)
sqlCtx = SQLContext(sc)
data = sqlCtx.createDataFrame(df)
createCsvFile(data, '/mnt/adlsdata/Raw/Astute/', 'products')
我最终需要使用emptyValue选项使ti工作
相关问题 更多 >
编程相关推荐