pandas 连接数据库
学习网址 :下载 中商情报网 爬虫 https://www.jianshu.com/p/fd8502962716
from sqlalchemy import create_engine # Django web的项目要把爬取的一些数据存入MySQL中,数据保存为csv格式,想到pandas中有to_sql这个方法,就采用它了 # engine = create_engine("mysql+pymysql://{}:{}@{}/{}?charset={}".format('用户名', '登录密码', '127.0.0.1:3306', '数据库名', '字符编码')) # con = engine.connect() # 创建连接 import pandas as pd # import pymssql # conn = pymssql.connect(host='127.0.0.1', # user='gina', password='Gina)13801271', # database='GFPOC', as_dict=True) from sqlalchemy import create_engine # engine = create_engine("mssql+pymssql://gina:@:/GFPOC") # engine = create_engine("mssql+pymssql://{}:{}@{}/{}?charset={}".format('用户名', '登录密码', 'IP:端口号', '数据库名','字符编码')) engine = create_engine("mssql+pymssql://{}:{}@{}/{}?charset={}".format('gina', 'Gina)13801271', '127.0.0.1:1433', 'GFPOC','utf8')) path=r'C:\Users\EDY\Desktop\样板房数据库(1).xls' df=pd.read_excel(path,sheet_name='竖表') df.to_sql('FACTORS_TEMPLATE_GINA_TEST', con=engine, if_exists='replace', index=False) # if_exists:表如果存在怎么处理 # append:追加 # replace:删除原表,建立新表再添加 # fail:什么都不干 # index=False:不插入索引index
数据连接时,密码含有@字符,报错处理
from urllib import parse password = 'xxdevelop@2020' pwd = parse.quote_plus(password) engine = create_engine(f'mysql+pymysql://root:{pwd}@xx.xx.xxx.xx:31312/{db}?charset=utf8')