python - 在字典中插入相同的字符串值(作为键)
问题描述
我正在用 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]}
谁能建议一些代码或建议。?有什么需要改变或改进的?
解决方案
听起来您想要组合相互补充的行。也就是说,他们有相同的联系人姓名,但不是重复的号码或电子邮件。您没有包含执行此操作的代码。
因为看起来你无论如何都在使用熊猫,你可以做类似的事情
contacts_missing_info = df.loc[((df['Contact Number'].isna()) | (df['Contact Email'].isna()))]
并使用类似的代码来获取不丢失信息的联系人,然后将缺少信息的联系人组合在一起,然后附加两个数据框并以这种方式工作。
编辑:即使你没有使用熊猫,想法是一样的。遍历您的对象并确保按照您想要的方式组合所有重复项,然后执行您的代码。
推荐阅读
- html - 是否可以在切断边框的同时在div边框的左上角添加图像?
- html - 从数据库字段中剥离 HTML 以显示在查看页面上
- xpath - JSNAPY:有没有办法测试 xpath 节点属性
- javascript - 使用 div 中的按钮关闭带有母版页的 ASP.NET 页面上的 DIV,其中 JQuery 用于显示 div
- ios - 如何根据 iPhone 向上移动文本字段。尺寸迅速
- javascript - Swiper Slider - 视频结束时继续下一张幻灯片
- javascript - 如何在反应中加载自定义prismjs语法文件?
- regex - Hive regexp_replace
- c# - Xamarin.Forms - 如何制作点击计数器?
- aws-amplify - AWS Amplify 构建过程中的缓存工件是什么?