pandas读取csv,txt,excel文件

准备工作 导包

import pandas as pd

读取csv文件

pandas的 read_excel() 方法

fpath = './datas/ml-latest-small/ratings.csv'
# # 使用pd.read_csv读取数据
ratings = pd.read_csv(fpath, engine='python', encoding='utf-8')

查看DataFrame的具体结构

ratings.head() # 查看前几行数据
userIdmovieIdratingtimestamp
0114.0964982703
1134.0964981247
2164.0964982224
31475.0964983815
41505.0964982931

查看结构

ratings.shape   # 查看数据的形状,返回(行数、列数)
(100836, 4)

查看所有列名

ratings.columns  # 查看列名列表
Index(['userId', 'movieId', 'rating', 'timestamp'], dtype='object')

index

ratings.index # 查看索引列
RangeIndex(start=0, stop=100836, step=1)
ratings.dtypes  # 每个列名对应的数据类型
userId         int64
movieId        int64
rating       float64
timestamp      int64
dtype: object

读取txt文件

# 设置txt文件的存储位置
fpath = './datas/crazyant/access_pvuv.txt'

同样调用read_csv()方法

  1. 设置切割对象为 \t
  2. 没有头部
  3. 设置列名为 a,b,c
txt_demo = pd.read_csv(
    fpath,
    sep='\t',
    header=None,
    names=['a','b','c']
)
txt_demo.head()
abc
02019-09-1013992
12019-09-09185153
22019-09-0812359
32019-09-076540
42019-09-0615798

读取xls文件

fpath = './datas/crazyant/access_pvuv.xlsx'

pandas的 read_excel() 方法

xlsx_demo = pd.read_excel(fpath, engine='python', encoding='utf-8')
xlsx_demo
日期PVUV
02019-09-1013992
12019-09-09185153
22019-09-0812359
32019-09-076540
42019-09-0615798
52019-09-05205151
62019-09-04196167
72019-09-03216176
82019-09-02227148
92019-09-0110561

读取数据库数据

import pandas as pd
from sqlalchemy import create_engine

engin = create_engine("mysql+mysqlconnector://root:123456@localhost:3306/rabbit_test?charset=utf8")

sql = '''select * from student'''

# 查询结果
df = pd.read_sql_query(sql, engin)
print(df)

数据库插入数据

# 新建pandas中DataFrame
data = {
    'id': [17, 18, 19],
    "name": ["yanxu", "shuaishuai", "xiaolong"],
    "age": [20, 22, 23],
    "class_id": [1, 2, 3]
}
df = pd.DataFrame(data)

# 将新建的DataFrame储存为mysql中的数据表,index=True储存index列
# if_exists:
# 1.fail:如果表存在,啥也不做
# 2.replace:如果表存在,删了表,再建立一个新表,把数据插入
# 3.append:如果表存在,把数据插入,如果表不存在创建一个表!!
df.to_sql("student", engin, index=False, if_exists="append")
# 或者这种形式
# pd.io.sql.to_sql(df, "student", con=engin, index=False, if_exists="append")
print(df)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值