07-Pandas数据加载
2018-12-20 本文已影响12人
郑元吉
一.读取文本格式数据
pandas提供了一些用于将表格型数据读取为DataFrame对象的函数
最常用:
- read_csv
从文件中加载带分隔符的数据,默认分隔符为逗号
- read_table
从文件中加载带分隔符的数据,默认分隔符为制表符
二.读取数据库sqlite数据
- 导包
import pandas as pd
import sqlite3
- 读取数据
con = sqlite3.connect("../data/weather_2012.sqlite")
df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con)
df
- 设置index_col
df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con, index_col='id')
df
- 写数据
weather_df = pd.read_csv('../data/weather_2012.csv')
con = sqlite3.connect("../data/test_db.sqlite")
con.execute("DROP TABLE IF EXISTS weather_2017")
weather_df.to_sql("weather_2017", con)
三.读取数据库mysql数据
- 读取数据
import pymysql
import pandas as pd
conn = pymysql.connect(host='localhost', port=3306, user='softpo', password='root', db='dushu', charset='utf8')
df = pd.read_sql('select * from books',conn)
display(df.shape,df.head())
读取数据.png
- 写数据
from sqlalchemy import create_engine
##将数据写入mysql的数据库,但需要先通过sqlalchemy.create_engine建立连接,且字符编码设置为utf8,否则有些latin字符不能处理
conn = create_engine('mysql+mysqldb://softpo:root@localhost:3306/dushu?charset=utf8')
df.to_sql('book7',conn,index=False,if_exists='append')
可能遇到问题:ModuleNotFoundError: No module named 'MySQLdb'
解决方法:pip install mysqlclient
写数据.png
四.读取网络数据
- url获取数据
url = 'https://raw.githubusercontent.com/datasets/investor-flow-of-funds-us/master/data/weekly.csv'
df = pd.read_csv(url)
df.head()