check_card_temp.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # coding=utf-8
  2. import os
  3. import pandas as pd
  4. def get_sim_card_set():
  5. SIM_CARD_PATH = u"C:/CARD_POOL.xlsx"
  6. simCardData = pd.read_excel(SIM_CARD_PATH)
  7. simCardPool = simCardData.ICCID.tolist()
  8. newSimCardPool = [_item.upper() for _item in simCardPool]
  9. return set(newSimCardPool)
  10. def check_device(path, simCardPool):
  11. flag = False
  12. deviceData = pd.read_excel(path)
  13. devList = deviceData.to_dict('records')
  14. simCards = set([str(_item.get(u"流量卡")).upper() for _item in devList])
  15. badSimCards = simCards & simCardPool
  16. for _dev in devList:
  17. if str(_dev.get(u"流量卡")).upper() in badSimCards:
  18. flag = True
  19. _dev[u"换卡"] = u"是"
  20. else:
  21. _dev[u"换卡"] = u"否"
  22. return devList, flag
  23. def main():
  24. path = raw_input(u"请输入文件夹/文件路径:").decode("utf-8")
  25. if os.path.isdir(path):
  26. files = [os.path.join(path, _file) for _file in os.listdir(path) if _file.endswith(".xlsx")]
  27. else:
  28. files = [path]
  29. for _file in files:
  30. df = pd.read_excel(_file).to_dict("record")
  31. newList = list()
  32. for _dev in df:
  33. print _dev[u"离线时间"], type(_dev[u"离线时间"])
  34. if _dev[u"换卡"] == u"是" and _dev[u"离线时间"] in [u"2020-12-29", u"2020-12-30", u"2020-12-31"]:
  35. newList.append(_dev)
  36. with pd.ExcelWriter(_file, mode='a', engine='openpyxl') as writer:
  37. pd.DataFrame(newList).to_excel(writer, "check")
  38. if __name__ == '__main__':
  39. main()