嗨,我的csv文件结构就像
File-1
id col1 col2
a_1 sd fd
ds emd
sf jhk
File-2
id col1 col2
b_2 sd fd
ds emd
sf jhk
现在,我希望将csv文件加载到数据帧中时,该文件1的所有行的id列应具有值1,文件2的所有行均应具有值2。因此,我的datframe应该看起来像-
id col1 col2
a_1 sd fd
a_1 ds emd
a_1 sf jhk
b_2 sd fd
b_2 ds emd
b_2 sf jhk
我想这样做,所以我在读取多个csv文件时可以按文件ID标识行。请注意,我不想将文件名添加为ID,我想在文件的第一行中使用ID列扩展到数据框中文件的所有相应行。
答案 0 :(得分:-1)
如果您确定它是否将出现在第一行中。 下面是伪代码。
file1_id = df_file1.filter(id != None).select(col('id')).collect()[0]
,然后将上面计算出的ID用作文件
df_file1.drop('id').withColumn('id',lit(file1_id))
对第二个数据帧df_file2遵循相同的操作 然后做一个工会
df_file = df_file1.unionAll(df_file2)