python怎么存数据_【Python】【数据处理】1 如何用python读取及存储数据

久违了的Python系列回来啦~

Py4e也会更新,从实用性的角度出发,最近会先写一些和数据分析相关的笔记。

首先是Python数据处理系列,这篇文章的内容是数据的读取与存储。

# 导入numpy及pandas库

import numpy as np

import pandas as pd

1. 查看数据

!type 地址

# 这里注意!与type之间没有空格,而type后面有;这里的地址是不加引号的

!type C:\Users\Caroline\Desktop\数据\ch4ex1.csv

# 如果要读取的文件和jupyter的ipynb文件放在同一个文件夹,直接写文件名也可以

!type myout2.csv

2. 读取数据

法一:df=pd.read_csv/json/excel(‘地址’)

法二:df=pd.read_table(‘地址’, sep=’分隔符’)关于地址的写法

系统复制的地址用\分隔的,而\在python中有转义的含义,要把反斜杠换为正斜杠/或者在地址前面添加r防止地址被识别为转义符

这个点在用load data infile命令向mysql导入csv文件的时候也提到过https://zhuanlan.zhihu.com/p/143654235​zhuanlan.zhihu.comzhihu-card-default.svg

法一:df=pd.read_csv/json/excel(‘地址’)

法二:df=pd.read_table(‘地址’, sep=‘分隔符’)

这两种方法的区别就是法二pd.read_table()默认分隔符是制表符'\t',法一如df.pd.read_csv默认分隔符为','。

当文件的分隔符比较妖孽的时候,比如是?或者好几个空格之类的,两种方法都可以用sep='分隔符'来修改分割符。

#读取json文件

df1=pd.read_json(r'C:\Users\Caroline\Desktop\数据\trial.json')

#csv文件分隔符为','的两种方法

df2=pd.read_csv(r'C:\Users\Caroline\Desktop\数据\ch4ex1.csv')

df2=pd.read_table(r'C:\Users\Caroline\Desktop\数据\ch4ex1.csv',sep=',')

#txt文件分隔符为'?'的情况

df3=pd.read_table(r'C:\Users\Caroline\Desktop\数据\ch4ex6.txt',sep='?')

#分隔符是好几个空格的情况

df4=pd.read_csv(r'C:\Users\Caroline\Desktop\数据\ch4ex7.txt',sep='\s+') #法一

df4=pd.read_table(r'C:\Users\Caroline\Desktop\数据\ch4ex7.txt',sep='\s+') #法二包含多个sheet的excel文件读取

包含多个sheet的excel文件,默认是读第一张sheet。可以通过sheet_name参数来选择读取的sheet,支持数字索引(也是从0开始)和sheet名两种写法。

# 读取excel文件里面的第二张sheet‘客户表’

df5=pd.read_excel('C:/Users/Caroline/Desktop/trial.xlsx',sheet_name=1)

df5=pd.read_excel('C:/Users/Caroline/Desktop/trial.xlsx',sheet_name='客户表')其他参数:跟在文件地址后面直接加在括号里面就可以。这里选取了几个最常用的列出来,不再赘述,实际使用过程中有其他需要再搜索就好。

3. 存储数据

默认路径是存在jupyter代码所在的文件夹

df.to_csv/json/excel('命名')

# excel需要指定sheet名

df.to_excel('excel文件名’, sheet_name='sheet名')

# 不要索引

index=False

4. Python数据库处理(以Mysql为例)

【pymysql库的安装】

Python使用pymysql库连接mysql,但是anaconda本身自带的100多个库里面并不包含pymysql,需要单独安装:

# 打开Anaconda Prompt(anaconda 3)

conda install pymysql

# 按照提示安装pymysql包

# 安装结束后查看是否成功:

python

import pymysql

# 出现“>>>”即证明安装成功(以下为成功状态)

#导入numpy,pandas,pymysql库

import numpy as np

import pandas as pd

import pymysql

【python连接数据库】

# 创建连接变量conn,记得启动mysql啊

conn=pymysql.connect(

host='localhost', #数据库地址

user='root', #用户名

password='密码',

db='数据库名',

port=端口号,

charset='utf8')

以上参数不知道的话,可以打开Mysql命令行查询

-- db即数据库名,也就是Mysql里database/schema的名字-- 查看port 端口号show variables like '%port%'

-- 查看charset字符集的编码方式show variables like '%collation%';

【python读取mysql数据】

df=pd.read_sql('sql语句 ',连接变量名)

# 以读取sql面试50题里面的sc表为例

df=pd.read_sql('select * from sc',conn)

创建sc表的代码在下面这个帖子的最后:https://zhuanlan.zhihu.com/p/113173133​zhuanlan.zhihu.comzhihu-card-default.svg

【python向mysql存储数据】

df.to_sql(name='表名',con='mysql+pymysql://用户名:密码@数据库地址:端口号/数据库名?charset=utf8', if_exists='replace', index=False)

# 将DataFrame命名为sc3存在mysql数据库exercise中

df.to_sql(name='sc3',con='mysql+pymysql://root:1234@localhost:3306/exercise?charset=utf8', if_exists='replace', index=False)

进入mysql命令行查看,sc3表已经储存在exercise数据库中了

上面主要是提供学习的思路框架,用Python进行数据的读取和存储并不限于以上情况,可以根据实际工作需要,使用上面的框架进行搜索。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值