在spark中向Dataframe添加ascii字符

jchrr9hc  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(451)

目前有一个Dataframe,我想把一个ascii字符放在最后一行。我有一个大约有17列的pandas数据框,并用新行创建了一个新的数据框。 newrow = pd.DataFrame(columns=['A','B','C','D'.....and so forth]) newrow.loc[0] = [chr(26),'','','','','','','','','','','','','','','',''] newrow.head() 然后将其附加到原始Dataframe中

df= df.append(newrow, sort=False, ignore_index=True)

但是,一旦我将这个Dataframe保存为sparkDataframe并输出为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字符的新行,并以这种方式追加,尽管列数不同?
谢谢

fnvucqvd

fnvucqvd1#

您可以直接使用Pandas的内置功能: df.to_csv() 无需将其转换为sparkDataframe。

相关问题