Pandas_文件读_文件写_其他格式文件读写

文件读

read_excel : 从EXCEL的XLS或者XLSX文件中读取数据
read_hdf : 读取用pandas存储的HDF5文件
read_html : 从HTML文件中读取所有表格数据
read_json : 从JSON字符串中读取数据
read_sas : 读取SAS系统中定制存储格式的数据集
read_sql : 将SQL查询的结果读取出来
read_stata : 读取stata格式的数据集
read_csv : 读取CSV格式的数据文件

例:

1.pd.read_table('文件地址+文件名',
				sep='(','逗号 or ‘/s+’空格)',#指定分隔符号 用正则
				skiprows=[0,2,3], #跳过指定的行	
				na_values=[3.0], #将3.0也当做缺失值对待 显示为 NaN 
				nrows=N #从文件开头往下只读N行
				# f = {'message':['foo','NA'],'something':['two']} 
				# na_values=f #可以对不同的列,指定不同的缺失值标识
				)

#---------------------------------------
注意指定列名用的参数名是names,不是columns:
2.pd.read_csv('d:/ex2.csv',header=None) # 使用默认列名 0,1,2,3,。。。
3.pd.read_csv('d:/ex2.csv', names=['a','b','c','d','message']) # 自定义列名

如果你想将上面的message列当作DataFrame的行索引,可以将它传递给参数index_col:
4.pd.read_csv('d:/ex2.csv', names=['a','b','c','d','message'],index_col='message')

#---------------------------------------
重点:分块读数据 chunksize=10 分为十行一组
import pandas as pd
#pd.options.display.max_rows = 10 #让pandas只显示0行数据 多余的在中间部位 省略号略过
#只有read_csv才有 chunksize=N函数
wf=pd.read_csv(r'C:\Users\Administrator\Desktop\sjs.csv',names=['a','b','c','d','e','f','g','h'], chunksize=10)
for i in wf:
    print(i)

Pandas_文件读_文件写_其他格式文件读写_第1张图片

文件写

可以使用DataFrame的to_csv方法
务必原始数据是经过 DataFrame 处理的

df.to_csv('数据地址',sep='指定分隔符',na_rep='缺失值标记为',
	      index=False, header=False, #不显示行索引 列索引
		  columns=['更’,‘改’,‘列’,‘名'])

其他格式文件读/写

JSON和Pickle

1.read_json函数可以自动将JSON数据集按照指定的顺序转换为Series或者DataFrame对象
#需要根据json的样式变换
2.to_json函数,将pandas对象转换为json格式
3.Python标准库pickle,可以支持二进制格式的文件读写,且高效方便
read_pickle #读二进制格式文件
to_pickle #变为二进制格式文件

HDF5

HDF5适用于处理不适合在内存中存储地超大型数据,可以使你高效读写大型数据的一小块
要注意的是HDF5并不是数据库,它是一种适合一次写入多次读取的数据集

store = pd.HDFStore('D:\mydata.h5') #生成HDF5文件
df.to_hdf('mydata.h5','obj3', format='table') #写入H5文件
#文件名称‘mydata.h5’
#HDFStore支持两种工作模式,‘fixed’和‘table’。table的速度更慢,但支持一种类似数据库SQL语言的查询操作

pd.read_hdf('mydata.h5', 'obj3' ,where=['index < 5']) #读取H5文件
#文件名称‘mydata.h5’
#‘obj3’ 读取列名 默认不写 全部读取
#where=[‘index < 5’] #类似sql的条件语句 规定读取范围

Excel

df = pd.read_excel('d:/ex1.xlsx', 'Sheet1') #打开excel文件和指定的sheet名称
writer = pd.ExcelWriter('d:/ex2.xlsx') #生成文件
df.to_excel(writer, 'Sheet1') #df是DataFrame的数据集
writer.save() #关闭文件

WEB

import requests # 导入包
url = 'https://api.github.com/repos/pandas-dev/pandas/issues' # 要访问的url
response = requests.get(url) # 访问页面,需要等待一会
response # 成功获取响应的数据
data = response.json() # 解析为json格式
issues = pd.DataFrame(data['xxx']) #将data直接传给DataFrame 注意取json中列表开头的key值
issues #显示值

例:
Pandas_文件读_文件写_其他格式文件读写_第2张图片

你可能感兴趣的:(python_pandas)