我想使用 pyspark 根据索引号更改 json 数组对象中的值
I want to change value in json array object based on index number using pyspark
我想使用 pyspark 根据索引号更改 json 数组对象中的值,然后将使用 columnName 更新数据框列名称:
输入:
jsonArray = [
{
"index": 1,
"columnName":"Names"
},
{
"index": 2,
"columnName":"City"
}
]
输出:
jsonArray = [
{
"index": 1,
"columnName":"titles"
},
{
"index": 2,
"columnName":"countries"
}
]
函数头:
def renameColumn(index, newName, df):
return df_with_new_column_names
如果我正确理解了您的要求,请尝试以下操作-
for i in range(len(jsonArray)):
if jsonArray[i]['index']==1:
jsonArray[i]['columnName'] = "titles"
else:
jsonArray[i]['columnName'] = "countries"
print(jsonArray)
输出-
[{'index': 1, 'columnName': 'titles'}, {'index': 2, 'columnName': 'countries'}]
def jsonColumnName(jsonArray, indx, newName):
for jsonObj in jsonArray:
if jsonObj['index'] == indx:
jsonObj['Field_Name'] = newName
return jsonArray
我想使用 pyspark 根据索引号更改 json 数组对象中的值,然后将使用 columnName 更新数据框列名称:
输入:
jsonArray = [
{
"index": 1,
"columnName":"Names"
},
{
"index": 2,
"columnName":"City"
}
]
输出:
jsonArray = [
{
"index": 1,
"columnName":"titles"
},
{
"index": 2,
"columnName":"countries"
}
]
函数头:
def renameColumn(index, newName, df):
return df_with_new_column_names
如果我正确理解了您的要求,请尝试以下操作-
for i in range(len(jsonArray)):
if jsonArray[i]['index']==1:
jsonArray[i]['columnName'] = "titles"
else:
jsonArray[i]['columnName'] = "countries"
print(jsonArray)
输出-
[{'index': 1, 'columnName': 'titles'}, {'index': 2, 'columnName': 'countries'}]
def jsonColumnName(jsonArray, indx, newName):
for jsonObj in jsonArray:
if jsonObj['index'] == indx:
jsonObj['Field_Name'] = newName
return jsonArray