我有一个python(运行PySpark的AWS Glue中的版本3.6)列表:
['id', 'account_id', 'lab_order_id', 'match_status', 'report_date', 'message', 'reporting_states', 'state_messages', 'overall_consistency', 'alerts', 'run_datetime_partition', 'run_datetime']
我想从列表中得到一个如下所示的字符串:
$1 "ID", $2 "ACCOUNT_ID", $3 "LAB_ORDER_ID", $4 "MATCH_STATUS", $5 "REPORT_DATE", $6 "MESSAGE", $7 "REPORTING_STATES", $8 "STATE_MESSAGES", $9 "OVERALL_CONSISTENCY", $10 "ALERTS", $11 "RUN_DATETIME"
到目前为止,我已经关闭了字符串,没有在每个引用的名称之前增加$num。我需要增量是动态的,因为不是每个表都有相同的列数。你知道吗
# Variable List
column_names = final_table_data_frame.schema.names
column_strings = ('","').join(column_names).upper().replace(',"RUN_DATETIME_PARTITION"','')
var_list = '"' + column_strings + '"'
其中列名称项来自上一个数据帧的架构。我尝试过使用lambda,但是在用字符串连接结果时遇到了问题。你知道吗
我通过使用字典和进一步的分析找到了一个解决方案:
您可以使用enumerate+f-string,然后使用join:
输出
相关问题 更多 >
编程相关推荐