Guest User

Untitled

a guest
Jan 30th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. def read_mongo(db, collection, query={}, host='localhost', port=27017, username=None, password=None, no_id=True):
  2. """ 从Mongo读取并存储到DataFrame """
  3. #连接MongoDB
  4. db = _connect_mongo(host=host, port=port, username=username, password=password, db=db)
  5. #对特定的数据库和集合进行查询
  6. cursor = db[collection].find(query)
  7. #读取数据并构造DataFrame
  8. df = pd.DataFrame(list(cursor))
  9. #删除MongoDB中主键_id
  10. if no_id:
  11. del df['_id']
  12. return df
  13.  
  14. query = {"ans_count":{$gte:100}
  15. read_mongo(mydb,collection,query = query, port=27017, username=None, password=None, no_id=True)
  16.  
  17. File "<ipython-input-85-41c57b2616f6>", line 1
  18. query = {"ans_count":{$gte:100}}
  19. ^
  20. SyntaxError: invalid syntax
  21.  
  22. ---------------------------------------------------------------------------
  23. TypeError Traceback (most recent call last)
  24. <ipython-input-89-145be822c0ee> in <module>()
  25. ----> 1 read_mongo(mydb,collection,query = query, port=27017)
  26.  
  27. <ipython-input-18-abe74f552447> in read_mongo(db, collection, query, host, port, username, password, no_id)
  28. 10 """ 从Mongo读取并存储到DataFrame """
  29. 11 #连接MongoDB
  30. ---> 12 db = _connect_mongo(host=host, port=port, username=username, password=password, db=db)
  31. 13 #对特定的数据库和集合进行查询
  32. 14 cursor = db[collection].find(query)
  33.  
  34. <ipython-input-18-abe74f552447> in _connect_mongo(host, port, username, password, db)
  35. 6 else:
  36. 7 conn = MongoClient(host, port)
  37. ----> 8 return conn[db]
  38. 9 def read_mongo(db, collection, query={}, host='localhost', port=27017, username=None, password=None, no_id=True):
  39. 10 """ 从Mongo读取并存储到DataFrame """
  40.  
  41. /anaconda3/lib/python3.6/site-packages/pymongo/mongo_client.py in __getitem__(self, name)
  42. 1321 - `name`: the name of the database to get
  43. 1322 """
  44. -> 1323 return database.Database(self, name)
  45. 1324
  46. 1325 def close_cursor(self, cursor_id, address=None):
  47.  
  48. /anaconda3/lib/python3.6/site-packages/pymongo/database.py in __init__(self, client, name, codec_options, read_preference, write_concern, read_concern)
  49. 105 if not isinstance(name, string_type):
  50. 106 raise TypeError("name must be an instance "
  51. --> 107 "of %s" % (string_type.__name__,))
  52. 108
  53. 109 if name != '$external':
  54.  
  55. TypeError: name must be an instance of str
Add Comment
Please, Sign In to add comment