我希望我可以使用" row"因为它包含我想要更新的所有数据,但得到以下内容。我的代码如下:
c:\ mongo scripts> csvimporter.py Traceback(最近一次调用最后一次): .... pymongo.errors.WriteError:空的更新路径无效。
def import_fame_dump(input_file='AB.csv'):
fame_export = csv.DictReader(open(input_file), dialect='excel')
leads = []
fame_export.fieldnames + ['ImportDate']
for row in fame_export:
row['ImportDate'] = datetime.datetime.utcnow()
#leads.append(row)
result = db.leads.update_one({
'match1': row['match1'],
'match2': row['match2'],
'match3': row['match3'],
'match4': row['match4']
}, {"$set": row },
upsert=True)
非常感谢您的帮助。
答案 0 :(得分:1)
打印出“row”的值,或在调试器中设置断点,以便知道你要发送给MongoDB的内容。
在某些时候,你有一个空字符串作为键,相当于:
8 - 4 = 4