当前位置: 首页 > 后端技术 > Python

保姆级干货盘点#从零基础到实战的数据分析,Python、Pandas和各种数据库

时间:2023-03-25 21:02:37 Python

今天我们来探秘pandas。一、基础知识总结SQLAlchemymoduleinstalldatabasePostgreSQL下载安装PostgreSQL操作都是在虚拟环境下):方法一:直接pip安装(最简单,安装速度慢,容易出错)pipinstallSQLAlchemy方法二:滚轮(wheel)安装(比较简单,安装速度还可以,基本不会报错)点击这里下载SQLAlchemy的.whl文件,然后移动到你的开发环境目录下。pipinstallxxxxx.whl方法三:豆瓣源码安装(比较简单,安装速度快,方便,推荐)pipinstall\-ihttps://pypi.douban.com/simple/SQLAlchemy2、数据库PostgreSQL下载安装(一)下载地址:https://www.enterprisedb.com/...(2)下载完成后,点击安装文件,基本都是Next。一、安装目录,建议自己选择,不要安装在C盘。第二,Password,可以设置简单一点,毕竟只是自学用的。第三,端口号,建议不要改,直接用5432就好了,容易和其他端口冲突,到时候不知道怎么解决,很麻烦。其他没说的都是默认设置,NextNextNext~安装过程一般需要10分钟左右,不用着急。最后,安装完成后,取消图片上的选项框。图片的意思是在后台启动StackBuilder(堆栈生成器),这不是必须的。最后推荐几个相关的学习网站Postgre社区:https://www.postgresql.org/co...Postgre官方文档:https://www.postgresql.org/docs/EbayPostgre学习教程:https://www.yiibai.com/postgr...三、PostgreSQL的基本介绍和使用(一)PostgreSQL的特点以上内容截取自易白Postgre学习教程。(2)使用PostgreSQL创建数据库a.打开pgADmin4,发现图形化操作界面在web端。首先会要求你输入密码,这是安装时设置的密码。点击Servers->PostgreSQL11->Databases->右键->Create->Database。b.输入数据库名,其他默认,注释自己写。Iwritefirstdatabase,也就是我的第一个数据库。我们也可以查看数据库创建的语句,在弹出的框中点击SQL即可。4.Pandas+SQLAlchemy导入数据到Postgre(1)Python操作代码importpandasaspdimportsqlalchemyassa\#读取的CSV文件路径r\_filepath\=r"H:\\PyCoding\\Data\_analysis\\day01\\data01\\realEstate\_trans.csv"\#数据库认证用户\="postgres"\#数据库用户名密码\="root"\#数据库密码db\_name\="test513"\#数据库名\#连接到数据库引擎\=sa.create\_engine('postgresql://{0}:{1}@localhost:5432/{2}'.format(user,password,db\_name))print(engine)\#读取数据csv\_read\=pd.read\_csv(r\_filepath)\#将sale\_date转换为datetime对象csv\_read\['sale\_date'\]\=pd.to\_datetime(csv\_read\['sale\_date'\])\#将数据存入数据库csv\_read.to\_sql('real\_estate',engine,if\_exists\='replace')print("Complete")\#可能报错:ModuleNotFoundError:Nomodulenamed'psycopg2'\#解决方法:pipinstallpsycopg2(2)代码分析引擎\=sa.create\_engine('postgresql://{0}:{1}@localhost:5432/{2}'.格式(你ser,password,db\_name))sqlalchemy的create\_engine函数创建数据库连接,参数为字符串,字符串格式为:://<用户名>:<密码>@<服务器>:<端口>/<数据库名>数据库类型://数据库用户名:数据库密码@服务器IP(如:127.0.0.1)或名称服务器的(例如:localhost):端口号/数据库名称,可以是:postgresql、mysql等。csv\_read.to\_sql('real\_estate',engine,if\_exists\='replace')pandasto\_sql函数将数据(在csv\_read中)直接存入postgresql,第一个参数指定存入数据库后的表名,第二个参数指定数据库引擎,第三个参数表示如果表real_estate已经存在,替换它。(3)运行结果另外,pandas库还提供了数据库查询操作函数read_sql_query,只需要传入查询语句和数据库连接引擎即可。源码注释为ReadSQLqueryintoaDataFrame.,意思是:将数据库查询的内容转成一个DataFrame对象并返回。query\='SELECT\*FROMreal\_estateLIMIT10'top10\=pd.read\_sql\_query(query,engine)print(top10)5.Python与各数据库的交互代码a.Python和MySql\#使用先安装pymysql模块:pipinstallpymysql\#导入pymysql模块importpymysql#连接数据库,参数说明:服务器,用户名,数据库密码,数据库名db\=pymysql.connect("localhost","root","root","db\_test")#使用cursor()方法创建游标对象cursor\=db.cursor()#使用execute()方法执行SQL语句游标。execute("SELECT\*FROMtest\_table")#使用fetchall()获取所有数据data\=cursor.fetchall()#关闭游标与数据库的连接cursor.close()db.close()湾。Python和MongoDB\#使用前先安装pymongodb模块:pipinstallpymongodb\#导入pymogodb模块importpymongo\#连接数据库,参数说明:服务器IP,端口号默认27017my\_client\=pymongo.MongoClient(host\="127.0.0.1",port\=27017)\#直接通过数据库Name索引,有点像字典my\_db\=my\_client\["db\_name"\]\#connectcollection\_namecollection,Mongodb中的collection相当于Mysql中的tablemy\_collection\=my\_client\["collection\_name"\]datas\=my\_collection.find()\#queryforxindatas:print(x)c.PythonandSqlite\#使用前安装sqlite3模块:pipinstallsqlite3'''sqlite数据库与前面两个数据库不同。是本地数据库,也就是说数据直接存储在本地,不依赖于服务器'''\#importsqlite3moduleimportsqlite3\#连接数据库,参数说明:这里的参数是数据库的地址datafileconn\=sqlite3.connect('test.db')#使用cursor()方法创建游标对象c\=conn.cursor()#使用execute()方法执行SQL语句cursor\=c.execute("SELECT\*fromtest\_table")forrowincursor:print(row)#关闭游标与数据库的连接c.close()conn.close()3、坚持不懈努力送你一句话:你终究会有所收获。如果文章对您有帮助,请在离开前点赞