回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我的单子上有下列词典。你知道吗</p>
<p><code>[OrderedDict([('Employee Number', '1'), ('Employee Name', 'Ms. A'), ('RMG SPOC', 'X'), ('Total Experience (yrs)', '3.06'), ('Days Unallocated', '18'), ('Skill Details', 'Manual testing'), ('Contact Number', '1234')]), OrderedDict([('Employee Number', '2'), ('Employee Name', 'Mr. B'), ('RMG SPOC', 'Y'), ('Total Experience (yrs)', '2.51'), ('Days Unallocated', '28'), ('Skill Details', 'Manual Testing'), ('Contact Number', '2345')]), OrderedDict([('Employee Number', '3'), ('Employee Name', 'Mr. C'), ('RMG SPOC', 'Z'), ('Total Experience (yrs)', '1.86'), ('Days Unallocated', '9'), ('Skill Details', 'C++, Manual Testing, Oracle'), ('Contact Number', '4567')]), OrderedDict([('Employee Number', '4'), ('Employee Name', 'Mr. D'), ('RMG SPOC', 'xyz'), ('Total Experience (yrs)', '7.68'), ('Days Unallocated', '23'), ('Skill Details', 'Manual Testing, SQL, HCM'), ('Contact Number', '789')])]</code></p>
<p>我准备了一个字典,在上面的数据上使用for循环,将这些值推送到数据库中。你知道吗</p>
<pre><code>emp_data = {"employee_name" : data['Employee Name'],
"employee_number" : data['Employee Number'],
"date_added" : datetime.datetime.now(),
"rmg_spoc" : data['RMG SPOC'],
"status" : "To be evaluated",
"total_experience" : data['Total Experience (yrs)'],
"days_unallocated" : data['Days Unallocated'],
"skill_details" : data['Skill Details'],
"contact_number" : data['Contact Number'],
"reviewer" : "To be assigned",
"comments" : "To be added"}
</code></pre>
<p>我从excel/csv获取原始数据。只要键与提供的excel/csv中的数据匹配,就可以正常工作。你知道吗</p>
<p>如果excel/csv将“Employee Name”作为“Employee Name”或“Employee Name”,则上述方法将不起作用。你知道吗</p>
<p>有没有一种方法可以处理这个问题,比如像“employee name”这样的键被映射到匹配任何格式('employee name'、'employee name'、'employee name')的值,匹配任何格式('rmg'、'rmg'、'rmg spoc'、'rmg spoc'、'rmg*')的“rmg\u spoc”,匹配任何格式('total experience')的“total\u experience”,'总经验','*<em>[E][E]experience</em>*')。你知道吗</p>