zhiyichong_export.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os, sys,time,datetime
  4. import urllib, urllib2, sys
  5. import requests
  6. from mongoengine import register_connection, PointField, DynamicDocument, StringField
  7. import simplejson as json
  8. import ssl
  9. import xlrd
  10. from xlrd import xldate_as_tuple
  11. from collections import OrderedDict
  12. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  13. sys.path.insert(0, PROJECT_ROOT)
  14. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "configs.testing")
  15. from script.base import init_env
  16. init_env(interactive = False)
  17. from apps.web.core.db import Searchable
  18. from apps.web.core.utils import generate_excel_report
  19. register_connection(alias = 'spider',
  20. name = 'spider',
  21. host = '211.159.224.10',
  22. port = 27119,
  23. username = 'service',
  24. password = 'oOzjoQcO5DyyiN97AY0NpzJ6vztjNpx5',
  25. authentication_source = 'admin')
  26. class zhiyichongSeller(Searchable):
  27. meta = {
  28. 'collection': 'zhiyichong_seller',
  29. 'db_alias': 'spider',
  30. }
  31. class zhiyichongDevice(Searchable):
  32. meta = {
  33. 'collection': 'zhiyichong_dev',
  34. 'db_alias': 'spider',
  35. }
  36. ii = 0
  37. records = []
  38. for rcd in zhiyichongSeller.get_collection().find({}):
  39. ii += 1
  40. if ii % 100 == 0:
  41. print ii
  42. dataList = [
  43. (u'联系方式', rcd['operatorPhone']),
  44. ]
  45. records.append(OrderedDict(dataList))
  46. generate_excel_report('F:/zhiyichong_operator.xlsx', records,True)
  47. ii = 0
  48. records = []
  49. ownerDict = {}
  50. for rcd in zhiyichongDevice.get_collection().find({}):
  51. if rcd['mobile'] not in ownerDict:
  52. ownerDict[rcd['mobile']] = 1
  53. else:
  54. ownerDict[rcd['mobile']] += 1
  55. for mobile,count in ownerDict.items():
  56. dataList = [
  57. (u'联系方式', mobile),
  58. (u'数目', count),
  59. ]
  60. records.append(OrderedDict(dataList))
  61. generate_excel_report('F:/zhiyichong_operator_count.xlsx', records,True)
  62. print('OK')