read_sql(sql,
con,
index_col=
none
, coerce_float=
true
, params=
none
, parse_dates=
none
, columns=
none
, chunksize=
none
)
引數的意義:
sql:為可執行的sql語句
con:資料庫的連線
index_col:選擇某一列作為index
coerce_float:將數字形式的字串直接以float型讀入
params:返回傳遞引數的查詢字串
parse_dates:將某一列日期型字串轉換為datetime型資料,與pd.to_datetime函式功能類似。可以直接提供需要轉換的列名以預設的日期形式轉換,也可以用字典的格式提供列名和轉換的日期格式,比如(format string:"%y:%m:%h:%m:%s")
colunms:要選取的列。一般沒啥用,因為在sql命令裡面一般就指定要選擇的列了
chunksize:如果提供了乙個整數值,那麼就會返回乙個generator,每次輸出的行數就是提供的值的大小。
import pandas as pd
import pymysql
conn = pymysql.connect(host=
'localhost'
, user=
'root'
, password='',
database=
'database_name'
)df = pd.read_sql(
"select * from table_name"
,con=conn)
import sqlalchemy
from sqlalchemy import create_engine
#connect_info = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(db_user, db_pass, db_host, db_port, database)
connect_info =
'mysql+pymysql://{}:{}@{}:{}/{}'
.format
('root',''
,'localhost'
,3306
,'nowcoderdb'
)engine=create_engine(connect_info)
df2=pd.read_sql(
"select * from table_name"
,con=engine)
Pandas資料連線
s1 pd.series 0,1 index a b s2 pd.series 2,3,4 index c d e s3 pd.series 5,6 index f g in 4 pd.concat s1,s2,s3 series行合併 out 4 a 0 b 1c 2d 3e 4f 5g 6dty...
pandas資料連線合併
1 df1和df2相同列合併 圖中可以看出合併後出現了重複行,可以使用df.drop duplicates 刪除重複行 另外我們可以看到合併之後的資料行索引還是以前df的索引值,要想使新生成的df索引從0開始,可以新增 ignore index true 執行結果如下 2 df1和df2不同列合併 ...
pandas 讀寫mysql資料
pandas具有直接讀寫mysql的api介面,簡單易學,這裡就給大家簡單介紹下。import pymysql import pandas as pd def query in db sql conn pymysql.connect host host ip host ip port your po...