[英]Printing a particular key's value of a python dictionary into a CSV file
I have a dictionary as follows: 我有一本字典如下:
> {'Target_Table': 'scott . employees',
'Target_Columns': 'empp_id last_name first_name email phone_number JOB_DATE job_id salary commission_pct manager_id department_id',
'Source_Columns': 'emp_id last_name first_name email phone_number JOB_DATE job_id salary commission_pct manager_id department_id',
'Source_Table': 'scott . employee',
'where_expr': 'emp_id = old_emp_id'}
I have to print Target_Columns values each in a different row. 我必须在不同的行中打印Target_Columns值 。 So far they are all printing in one single row.
到目前为止,它们都是一行打印。 I know how to split words but I'm unable to perform it particularly on Target_Columns key's values .
我知道如何分割单词,但我无法在Target_Columns键的值上执行它。
> 'Target_Columns': 'empp_id last_name first_name email phone_number JOB_DATE job_id salary commission_pct manager_id department_id'
Expected output: 预期产量:
> Target Columns
> empp_id
last_name
first_name
email
phone_number
JOB_DATE ...
with open("proc.txt", 'r') as file:
if re.search(r'select|SELECT', file.read()):
selr = select_stmt.parseString(open('proc.txt').read());
sd=selr.asDict()
sdict={k: str(v).strip("[]").replace("'", "").replace(","," ").replace("["," ").replace("]"," ") for k, v in sd.items()}
val=sdict.values()
for key in sdict:
if key=='Target_Columns':
for value in re.findall(r'\S+', val):
print(value)
Then for CSV I have this: I have no idea how to integrate both 然后对于CSV我有这个:我不知道如何集成两者
with open('procfile.csv', 'w') as f:
fieldnames = ["Source_Table","Source_Columns","Target_Table","Target_Columns"]
fieldnames = sorted(set(sd.keys()).union(*[sdict,idict]))
writer = csv.DictWriter(f, fieldnames, extrasaction='ignore')
writer.writeheader()
writer.writerow(sdict)
Assuming sdict
is the dictionnary you mentionned at the beginning of your question: 假设
sdict
是您在问题开头提到的词典:
sdict = {'Target_Table': 'scott . employees',
'Target_Columns': 'empp_id last_name first_name email phone_number JOB_DATE job_id salary commission_pct manager_id department_id',
}
for key, val in sdict.items():
if key == 'Target_Columns':
print(key)
print("\n".join(val.split()))
Below 下面
sdict = {'Target_Table': 'scott . employees',
'Target_Columns': 'empp_id last_name first_name email phone_number JOB_DATE job_id salary commission_pct manager_id department_id',
}
print('\n'.join(sdict['Target_Columns'].split(' ')))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.