首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据清洗之 数据库文件读写

数据清洗之 数据库文件读写

原创
作者头像
ruochen
修改于 2021-05-13 14:33:08
修改于 2021-05-13 14:33:08
3K0
举报

数据库文件读写

  • 使用sqlalchemy建立连接
  • 需要知道数据库的相关参数,如数据库IP地址、用户名和密码等
  • 通过pandas种read_sql 函数读入,读取完以后是dataframe格式
  • 通过dataframe的to_sql方法保存

数据库连接

  • conn = create_engine('mysql+pymysql://user:password@IP:3306/db')
    • user: 用户名
    • password: 密码
    • IP: 服务器IP,本地电脑用localhost
    • 3306: 默认端口号
    • db: 数据库名称
代码语言:txt
复制
import pandas as pd
import pymysql
from sqlalchemy import create_engine
代码语言:txt
复制
conn = create_engine('mysql+pymysql://root:root@localhost:3306/data_test')
代码语言:txt
复制
# 读取数据库内容
sql = 'select * from qidianreader'
df1 = pd.read_sql(sql, con=conn)
代码语言:txt
复制
df1.head(5)

<div>

<style scoped>

代码语言:txt
复制
.dataframe tbody tr th:only-of-type {
代码语言:txt
复制
    vertical-align: middle;
代码语言:txt
复制
}
代码语言:txt
复制
.dataframe tbody tr th {
代码语言:txt
复制
    vertical-align: top;
代码语言:txt
复制
}
代码语言:txt
复制
.dataframe thead th {
代码语言:txt
复制
    text-align: right;
代码语言:txt
复制
}

</style>

<table border="1" class="dataframe">

<thead>

代码语言:txt
复制
<tr style="text-align: right;">
代码语言:txt
复制
  <th></th>
代码语言:txt
复制
  <th>id</th>
代码语言:txt
复制
  <th>title</th>
代码语言:txt
复制
  <th>href</th>
代码语言:txt
复制
  <th>author</th>
代码语言:txt
复制
  <th>infos</th>
代码语言:txt
复制
</tr>

</thead>

<tbody>

代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>0</th>
代码语言:txt
复制
  <td>1</td>
代码语言:txt
复制
  <td>庆帝番外</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1017372661</td>
代码语言:txt
复制
  <td>祝家大郎</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>1</th>
代码语言:txt
复制
  <td>2</td>
代码语言:txt
复制
  <td>宋北云</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1018027097</td>
代码语言:txt
复制
  <td>伴读小牧童</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>2</th>
代码语言:txt
复制
  <td>3</td>
代码语言:txt
复制
  <td>美漫之超人</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1018978566</td>
代码语言:txt
复制
  <td>白蘸糖</td>
代码语言:txt
复制
  <td>星海漫游,时空穿梭,机械科技,目标是未知的星辰大海!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>3</th>
代码语言:txt
复制
  <td>4</td>
代码语言:txt
复制
  <td>李朝万古一逆贼</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1015407245</td>
代码语言:txt
复制
  <td>秽多非人</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>4</th>
代码语言:txt
复制
  <td>5</td>
代码语言:txt
复制
  <td>废土修真的日常</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1016234812</td>
代码语言:txt
复制
  <td>枯玄</td>
代码语言:txt
复制
  <td>热血的少年,为打破次元壁一往无前!</td>
代码语言:txt
复制
</tr>

</tbody>

</table>

</div>

代码语言:txt
复制
def query(table):
    host = 'localhost'
    user = 'root'
    password = 'root'
    database = 'db_qidian'
    port = 3306
    conn = create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(user, password, host, port, database))
    sql = 'select * from ' + table
    result = pd.read_sql(sql, con=conn)
    return result
代码语言:txt
复制
df2 = query('qidianreader')
代码语言:txt
复制
df2.head(10)

<div>

<style scoped>

代码语言:txt
复制
.dataframe tbody tr th:only-of-type {
代码语言:txt
复制
    vertical-align: middle;
代码语言:txt
复制
}
代码语言:txt
复制
.dataframe tbody tr th {
代码语言:txt
复制
    vertical-align: top;
代码语言:txt
复制
}
代码语言:txt
复制
.dataframe thead th {
代码语言:txt
复制
    text-align: right;
代码语言:txt
复制
}

</style>

<table border="1" class="dataframe">

<thead>

代码语言:txt
复制
<tr style="text-align: right;">
代码语言:txt
复制
  <th></th>
代码语言:txt
复制
  <th>id</th>
代码语言:txt
复制
  <th>title</th>
代码语言:txt
复制
  <th>href</th>
代码语言:txt
复制
  <th>author</th>
代码语言:txt
复制
  <th>infos</th>
代码语言:txt
复制
</tr>

</thead>

<tbody>

代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>0</th>
代码语言:txt
复制
  <td>1</td>
代码语言:txt
复制
  <td>庆帝番外</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1017372661</td>
代码语言:txt
复制
  <td>祝家大郎</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>1</th>
代码语言:txt
复制
  <td>2</td>
代码语言:txt
复制
  <td>宋北云</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1018027097</td>
代码语言:txt
复制
  <td>伴读小牧童</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>2</th>
代码语言:txt
复制
  <td>3</td>
代码语言:txt
复制
  <td>美漫之超人</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1018978566</td>
代码语言:txt
复制
  <td>白蘸糖</td>
代码语言:txt
复制
  <td>星海漫游,时空穿梭,机械科技,目标是未知的星辰大海!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>3</th>
代码语言:txt
复制
  <td>4</td>
代码语言:txt
复制
  <td>李朝万古一逆贼</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1015407245</td>
代码语言:txt
复制
  <td>秽多非人</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>4</th>
代码语言:txt
复制
  <td>5</td>
代码语言:txt
复制
  <td>废土修真的日常</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1016234812</td>
代码语言:txt
复制
  <td>枯玄</td>
代码语言:txt
复制
  <td>热血的少年,为打破次元壁一往无前!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>5</th>
代码语言:txt
复制
  <td>6</td>
代码语言:txt
复制
  <td>重生写推理小说</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1016350338</td>
代码语言:txt
复制
  <td>别人家的小猫咪</td>
代码语言:txt
复制
  <td>重生过去、畅想未来、梦幻现实,再塑传奇人生!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>6</th>
代码语言:txt
复制
  <td>7</td>
代码语言:txt
复制
  <td>日本战国走一遭</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1012757932</td>
代码语言:txt
复制
  <td>秽多非人</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>7</th>
代码语言:txt
复制
  <td>8</td>
代码语言:txt
复制
  <td>西游里会穿越的猴</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1018166616</td>
代码语言:txt
复制
  <td>妖怪的影子</td>
代码语言:txt
复制
  <td>修仙觅长生,热血任逍遥,踏莲曳波涤剑骨,凭虚御风塑圣魂!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>8</th>
代码语言:txt
复制
  <td>9</td>
代码语言:txt
复制
  <td>我一不小心就僵了</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1018205919</td>
代码语言:txt
复制
  <td>巫九</td>
代码语言:txt
复制
  <td>考古探险、鉴宝收藏,侦探推理、诡秘分析,戏说传承古今中外的民间悬疑文化!</td>
代码语言:txt
复制
</tr>
代码语言:txt
复制
<tr>
代码语言:txt
复制
  <th>9</th>
代码语言:txt
复制
  <td>10</td>
代码语言:txt
复制
  <td>我真是大昏君</td>
代码语言:txt
复制
  <td>https://book.qidian.com/info/1017587444</td>
代码语言:txt
复制
  <td>样样稀松</td>
代码语言:txt
复制
  <td>醒掌天下权,醉卧美人膝,五千年风华烟雨,是非成败转头空!</td>
代码语言:txt
复制
</tr>

</tbody>

</table>

</div>

代码语言:txt
复制
代码语言:txt
复制
import os
os.getcwd()
代码语言:txt
复制
'D:\\Jupyter\\notebook\\Python数据清洗实战\\数据清洗之文件读写'
代码语言:txt
复制
os.chdir('D:\\Jupyter\\notebook\\Python数据清洗实战\\数据')
代码语言:txt
复制
df = pd.read_csv('baby_trade_history.csv')
代码语言:txt
复制
try:
    df.to_sql('testdf', con=conn, index=False, if_exists='replace')
except:
    print('error')

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 数据库文件读写
    • 数据库连接
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档