我有通过使用python脚本和pandas从会计导入excel文件创建的文档集合:

data = pd.read_excel(fileName, header=0, na_values='') #read the excel file with headers in first row

collection.insert_many(pd.DataFrame.to_dict(data, orient='records')) #insert data to database collection as one row per document with column header as key and cell value as value

集合中的单个文档是发票上的单个位置,如下所示:

{
    "_id" : ObjectId("596f54f63c25b40b60e8e740"),
    "kod kontrahenta" : "MAXIMA",
    "nazwa kontrahenta" : "KALINOWSKI RAFAŁ \"Przedsiebiorstwo MAXIMA\"",
    "numer faktury" : "001/07/17/FVS",
    "data sprzedaży" : ISODate("2017-07-03T00:00:00Z"),
    "data wystawienia" : ISODate("2017-07-04T00:00:00Z"),
    "termin płatności" : ISODate("2017-10-02T00:00:00Z"),
    "kod towaru" : 30020520,
    "nazwa towaru" : "NIBOPREN N726 BOSTIK TIN 4,5 KG",
    "ilość sprzedana" : 5,
    "jm" : "szt",
    "cena sprzedaży" : 110.25,
    "wartość sprzedaży" : 551.25,
    "dokument wydania" : "0004/7/17/WZ",
    "ilość wydana" : 5,
    "koszt jednostkowy" : 59.69199999999999,
    "koszt ogółem" : 298.46,
    "marża" : 84.69811700060312,
    "rabat %" : 0,
    "Rodzaj kontrahenta" : "Danuta Kamińska",
    "Masa intrastat" : 4.5,
    "Wartość z KWM" : NaN,
    "Masa sprzedana" : 22.5,
    "Grupowanie CC" : "Softflooring"
}

会计正在从特定时间范围导出数据,并且必须将此数据添加到集合中 . 可能会发生会计将两次导出部分数据(例如,当他们希望在月中完成某些报告时,稍后将导出月份完整月份的数据) . 我正在寻找有效的方法来检测文档是否已经收集,而不是插入两次,因为它对报告结果至关重要 .