Guest User

Untitled

a guest
Apr 18th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. #%%
  2. print "Importing libraries"
  3. import pandas as pd
  4. import sqlalchemy as sa
  5. from sqlalchemy.engine import reflection
  6.  
  7. #%%
  8. # DB Connection Info
  9. print "Getting MySQL Connection on DB"
  10. USER = 'someusername'
  11. PASSWORD = 'somepassword'
  12. HOST = 'somehost'
  13. PORT = 3306
  14. DB = 'somedb'
  15. CONNECTION_STRING = "mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>"
  16.  
  17. #%%
  18. # Connect to DB and get MetaData
  19. print "Connecting to DB and do database reflection with Inspector"
  20. engine = sa.create_engine('mysql+mysqldb://{0}:{1}@{2}:{3}/{4}'.format(USER, PASSWORD, HOST, PORT, DB))
  21. print "Perform database schema inspection"
  22. inspection = reflection.Inspector.from_engine(engine)
  23.  
  24. #%%
  25. print "Looking at Tables"
  26. table_names = inspection.get_table_names() # e.g. 'hris_master_solds', 'i_aaar_property'
  27. print table_names
  28.  
  29. print "Filtering on Specific Table(s)"
  30. filtered_table_names = [_ for _ in table_names if 'r_mhmls_' in _]
  31. print filtered_table_names # e.g. r_mhmls_agent_agent, r_mhmls_office_office, r_mhmls_openhouse_ci_6...
  32.  
  33. #%%
  34. # read_sql_table loads the entire table into memory, no ability to chunk size
  35. print "Looking at a specific Table"
  36. df = pd.read_sql_table('r_mhmls_property_rr_3', engine)
  37. print df.head()
  38.  
  39.  
  40. print "Printing MetaData"
  41. metadata = sa.MetaData(engine)
  42. print metadata
  43. print dir(metadata)
  44. print metadata.tables
  45. # Create a MetaData instance
  46. #_table = sa.Table('stark_master', metadata, autoload=True, autoload_with=engine)
  47.  
  48. #%%
  49. # print MetaData instance
  50. print metadata.tables
  51. stark_master = metadata.tables['stark_master']
  52. #print stark_master
  53. #print dir(my_table)
  54. #print my_table.schema
  55. #print my_table.metadata
  56. #print my_table.columns
  57. #print type(my_table)
  58.  
  59. #%%
  60. print "Printing Columns"
  61. print type(stark_master)
  62. print stark_master.columns
  63. print stark_master.columns.keys()
  64. print stark_master.metadata
  65. #print dir(stark_master.columns)
  66. #dir(metadata.tables)
  67. #metadata.tables.keys()
  68.  
  69. #%%
  70. #dir(stark_master)
  71. #print type(df)
  72. #dir(df)
  73. #dir(df.columns)
  74. print df
  75.  
  76. #%%
  77. print "Inspecting"
  78. inspector = sa.inspect(engine)
  79. print inspector.get_table_names()
  80.  
  81. #%%
  82. print "Looking at Dataframe"
  83. print df
  84. df.info(verbose=True)
  85. df.dtypes
  86.  
  87. #%%
  88. df.head()
Add Comment
Please, Sign In to add comment