当前有一个数据帧,我想在最后一行中放置一个ASCII字符。我有一个大约有17列的pandas数据帧,并创建了一个带有新行的新数据帧。
newrow = pd.DataFrame(columns=['A','B','C','D'.....and so forth]) newrow.loc[0] = [chr(26),'','','','','','','','','','','','','','','',''] newrow.head()
然后我将其附加到我的原始数据帧中
df= df.append(newrow, sort=False, ignore_index=True)但是,一旦我将此数据帧保存为spark数据帧并将其输出为csv,我就看不到所需的ascii字符。
spark_df = spark.createDataFrame(First_Final)
save_location= "abfss://landing@cloudbistorage.dfs.core.windows.net/llanding/P2P/FinalDF"+First
csv_location = save_location+"temp.folder"
file_location = save_location+'.out'
spark_df.repartition(1).write.csv(path=csv_location, mode="overwrite", header="false", sep='\t')
file = dbutils.fs.ls(csv_location)[-1].path
dbutils.fs.cp(file, file_location)
dbutils.fs.rm(csv_location, recurse=True)一旦我刷新了我的着陆点,csv就不包含我要求的任何ascii字符。我该如何着手解决这个问题呢?我是否应该添加一个仅包含ascii字符的新行,并以这种方式追加,尽管有不同数量的列?
谢谢
发布于 2020-07-08 21:01:10
您可以直接使用pandas的内置函数:df.to_csv(),不需要将其转换为spark dataframe。
https://stackoverflow.com/questions/62795267
复制相似问题