【发布时间】:2021-05-27 12:39:54
【问题描述】:
您好,我正在尝试制作一个 python 脚本,每次运行脚本时都会更新一行。
对于如何最好地解决我必须根据数据帧的值更新每一行(选择语句)的部分,我有点头疼。
我得到了一个字符串'select null r_cnt, null t_cnt, null r_dur, null t_dur from my_table'
我得到了一个列表,其中包含此行的字段[t_cnt, r_dur]
然后,我希望新的字符串输出是第一个字符串,其中我们删除了列表中存在的值前面的空值,但在列表中没有的值前面保留了空值。
'select null r_cnt, t_cnt, r_dur, null t_dur from my_table'
我的整个代码现在看起来像这样,我卡在上面提到的点
str_to_execute = f"select * from {db}.table_desc where grp_id in (400,500,300,1200) and id not in(127,140,125)"
cursor.execute(str_to_execute)
df = as_pandas(cursor)
for index, row in df.iterrows():
# print(row['name'])
str_to_execute = f"SHOW COLUMN STATS {db}.ctrl_{row['id']}"
cursor.execute(str_to_execute)
loop = as_pandas(cursor)
for index, row in loop.iterrows():
print(row['Column'])
str_to_execute = f"select concat(cast(ctrl_id as string),cast(ctrl_date as string)) primarykey, ctrl_id, ctrl_date,null r_cnt, null t_cnt, null r_dur, null t_dur,null r_amt, null t_amt,null p_cnt, null p_dur,null p_amt, null ro_vol, null t_vol, null r_vol, null p_vol, null ro_amt, null ro_cnt, from {db}.ctrl_{row['id']}"
if #This is where im stuck
【问题讨论】:
标签: python pandas string dataframe impala