【发布时间】:2020-03-27 11:02:05
【问题描述】:
我正在用 Django 编写 python 代码。我遇到了一个问题,其中我有三个可选字段:
Contact Name Contact Number Contact Email
Ram 9888812345 *Blank*(Meaning not present)
Ram 9888812345 ram@gmail.com
Shyam 8776532211 shyam@hotmail.com
为此,我编写了如下代码:
df = csv.DictReader(open(uploaded_file_path), delimiter='\t')
contact_validation = {}
for row in df:
if not row['Contact Name']:
row['Contact Name'] = 'Name'
if not row['Contact Number']:
row['Contact Number'] = 'Number'
if not row['Contact Email']:
row['Contact Email'] = 'Email'
if (row['Contact Name']+ "-" + row['Contact Number']+ "-" + row['Contact Email']) not in contact_validation.keys():
contact_validation[(row['Contact Name']+ "-" + row['Contact Number']+ "-" + row['Contact Email']).strip()] = []
contact_validation[(row['Contact Name']+ "-" + row['Contact Number']+ "-" + row['Contact Email']).strip()].append(row['Name'])
else:
contact_validation[(row['Contact Name']+ "-" + row['Contact Number']+ "-" + row['Contact Email']).strip()].append(row['Name'])
为此,目前我的输出如下:
{'Ram-9888812345-Email': ['CRM_TestVenue_26_March_23'],
'Ram-9888812345-ram@gmail.com': ['CRM_TestVenue_26_March_2']
'Shyam-8776532211-shyam@hotmail.com':[Test2]}
但我要求输出如下:
{'Ram-9888812345-ram@gmail.com': ['CRM_TestVenue_26_March_23','CRM_TestVenue_26_March_2'],
'Shyam-8776532211-shyam@hotmail.com':[Test2]}
任何人都可以提出一些代码或建议吗?有什么需要改变或改进的?
【问题讨论】:
-
嗨,你能提供一个示例输入吗?
-
hI @Errol,我已经给出了示例输入,其中包含开头提到的所有三个字段。有什么不清楚的可以问我。
标签: python django dictionary django-rest-framework