Я работаю над программой python, которая подключается к Salesforce и загружает данные в виде файла csv. Salesforce не допускает псевдонима столбца. Поэтому я использую файл конфигурации для псевдонима имени столбца. Мне нужно заменить только несколько имен столбцов, а не все. Я пробовал использовать для l oop в коде, он работает, если в файле конфигурации есть одно имя столбца, но он не переименовывает, если есть несколько столбцов
Мой код выглядит так:
import configparser
cfg = configparser.RawConfigParser(allow_no_value=True)
cfg.read_file(open(r".\User_Info.config"))
username=cfg['SFDC_auth']['username']
password=cfg['SFDC_auth']['password']
security_token=cfg['SFDC_auth']['security_token']
domain=cfg['SFDC_auth']['domain']
Stories_Query=cfg['SFDC_Queries']['Stories_Query']
from simple_salesforce import Salesforce
sf_data=sf.query_all(Stories_Query)
sf_df = pd.DataFrame(sf_data['records']).drop(columns='attributes')
st_src_val=cfg['Column_Alias']['Stories_Src_Col']
st_dst_val=cfg['Column_Alias']['Stories_Tgt_Col']
if st_src_val =="" or st_dst_val=="":
print("No columns to Rename in Stories")
sf_df.to_csv(local_dir+"\PF_Stories.csv", index=False, encoding='utf8')
else:
st_src=list(cfg['Column_Alias']['Stories_Src_Col'].split(','))
st_dst=list(cfg['Column_Alias']['Stories_Tgt_Col'].split(','))
for i,j in zip(st_src,st_dst):
df2 = sf_df.rename({i:j},axis=1)
print(i + ' got renamed to ' + j + ' in Stories')
df2.to_csv(local_dir+"\PF_Stories.csv", index=False, encoding='utf8')
Файл конфигурации выглядит следующим образом:
[SFDC_Queries]
Stories_Query=Select Id,Name,PF_Story_Number__c,toLabel(PF_Story_Status__c),PF_Total_Estimated_Hours__c,PF_Total_Actual_Hours__c,PF_End_Date__c,PF_Start_Date__c,PF_Story_Point__c,Assigned_Developer__c,PF_Sprint__c,PF_Planned_Start_Date__c,PF_Planned_End_Date__c,PF_Revised_Start_Date__c,PF_Revised_End_Date__c,PF_Work_Stream__c,PF_Scope_Changed__c,PF_Scope_Changed_Number__c,PF_Percentage_Completion__c from PF_Stories__c
[Column_Alias]
Stories_Src_Col=Assigned_Developer__c
Stories_Tgt_Col=PF_Story_Owner__c
Код работает нормально, если у меня есть только одно значение, которое нужно заменить, но если я использую несколько значений, как показано ниже, он не заменяет заголовки столбцов в файле. Как решить эту проблему?
[Column_Alias]
Stories_Src_Col=Assigned_Developer__c,id
Stories_Tgt_Col=PF_Story_Owner__c,id1