0
嘗試在UDF中逐個發送列的列表,但使用for循環但出現錯誤,即數據框未找到col_name。目前在列表list_col我們有兩列,但它可以改變。所以我想寫一個代碼,它適用於列的每一個列表。在這段代碼中,我一次連接一列的行,行的值是結構格式即列表中的列表。對於每一個空,我必須給空間。Pyspark:在UDF中通過動態列
list_col=['pcxreport','crosslinediscount']
def struct_generater12(row):
list3 = []
main_str = ''
if(row is None):
list3.append(' ')
else:
for i in row:
temp = ''
if(i is None):
temp+= ' '
else:
for j in i:
if (j is None):
temp+= ' '
else:
temp+= str(j)
list3.append(temp)
for k in list3:
main_str +=k
return main_str
A = udf(struct_generater12,returnType=StringType())
# z = addlinterestdetail_FDF1.withColumn("Concated_pcxreport",A(addlinterestdetail_FDF1.pcxreport))
for i in range(0,len(list_col)-1):
struct_col='Concate_'
struct_col+=list_col[i]
col_name=list_col[i]
z = addlinterestdetail_FDF1.withColumn(struct_col,A(addlinterestdetail_FDF1.col_name))
struct_col=''
z.show()
感謝隊友其爲我工作 –
@RahulKumarSingh也許你應該考慮[接受答案](https://stackoverflow.com/help/someone-answers)。 – Prem
在列表中我有很多數據幀我應該如何合併一個數據幀中的所有數據幀。名單的長度不固定...................謝謝先進 –