读写文本格式的数据
函数 | 说明 |
---|---|
read_csv | 从文件、URL、文件型对象中加载带分割符的数据。默认分割符是逗号。 |
read_table | 从文件、URL、文件型对象中加载带分割符的数据。默认分割符是\t。 |
read_fwf | 读取定宽列格式数据,没有分割符设置。 |
read_clipboard | 读取剪贴板中的数据。 |
(1) 读取一个以逗号分隔(csv)文件格式 :pd.read_csv('ex1.csv')
(2) 用read_table
读取csv文件需要指定分割符 :pd.read_table('ex1.csv',sep = ",")
(3) 读取csv文件时不把第一行默认为列名:pd.read_csv('ex1.csv',header = None)
(4) 为csv文件设置列名:pd.read_csv('ex1.csv',names = ['a','b','c'])
(5) index_col
参数指定行索引名。
(6) 若各个字段是由数量不同空白符分隔:pd.read_csv('ex1.csv',sep = '\s+')
(7) 跳过文件第一行、第三行和第四行:pd.read_csv('ex1.csv',skiprows = [0,2,3])
(8) na_value
缺失值表示,可以传入一个字典。字典的key是列,value是该列中的某个值或值列表。
(9) nrows
参数可以指定需要读取的行数。
(10) comment
参数用于将注释信息从行尾拆分除去
读写文本格式的数据
(1) 利用DataFrame的to_csv()
可以将数据写到一个以逗号分隔的文件中:data.to_csv('out.csv')
(2) 可以用sep
参数指定其他分割符:data.to_csv('out.csv',sep = "|")
(3) na_rep
参数可以将缺失值表示为别的标记值:data.to_csv('out.csv',na_rep = 'NULL')
(4) 设置行列:`data.to_csv(‘out.csv’,header = False,index = False,cols = [‘a’,‘b’,‘c’])
手工处理分割符格式
csv模块
import csv
f = open('./ex.txt')
reader = csv.reader(f)
for line in reader:
print(line)
整理一下:
lines = list(reader)
header,values = lines[0],lines[1:]
data_dict = {h:v for h,v in zip(header,zip(*values))}
JSON数据
(1) 将JSON字符串转换为Python形式:result = json.loads(obj)
(2) 将Python对象转换为JSON格式:asjson = json.dumps(result)
二进制数据格式
(1) 以pickle形式保存frame:frame.save('out.csv')
(2) 将pickle形式的frame读回到Python:pd.load('out.csv')
HDF5格式
(1) pandas有个最小化的类似于字典的HDFStore:store = pd.HDFStore('data.h5')
(2) 读取HDFStore中的表:frame = store['obj1']