一、 使用内置文件读取函数
1.open(file,r(rb、w、wb))
——相关参数
File指文件名,r指读,rb指以二进制形式读取,w指写(直接覆盖原有内容),wb以二进制形式写入
2.read()
一次读取全部内容
——使用with语句:不需要显示关闭,自动调用close,一次读取整个文件,并将结果整体作为一个str返回
with open(r'ml-1m\ratings.dat') as f: |
——不使用with语句,需显示调用close关闭文件流
f=open(r'ml-1m\ratings.dat') |
2.readline()
一次只读取一行,返回str
with open(r'ml-1m\ratings.dat') as f: |
<class 'str'> 1::1193::5::978300760 |
3.readlines()
每次读取一行,将结果插入列表,最终返回一个列表。从下表结果可以看出:一次读取一行,每行作为一个字符串整体插入列表,故长度有1000209
user=[] |
<class 'list'> 1000209 <class 'str'> ['1::1193::5::978300760\n', '1::661::3::978302109\n', '1::914::3::978301968\n', '1::3408::4::978300275\n', '1::2355::5::978824291\n'] [['1', '1193', '5', '978300760'], ['1', '661', '3', '978302109'], ['1', '914', '3', '978301968'], ['1', '3408', '4', '978300275'], ['1', '2355', '5', '978824291']] <class 'list'> |
4.按行读取
user=[] |
二、 使用pandas读取文件
Pandas.read_table(),从文件、URL、文件型对象中加载待分隔符的数据,默认分隔符为制表符‘\t’。返回数据类型为 DataFrame
参数sep指定分隔符形式,names可接受列表,作为DataFrame的列名
很简单直观,有木有!!!!
import pandas as pd ratings=pd.read_table(r'ml-1m\ratings.dat',sep='::',header=None,names=['userid','movieid','ratings','timestamp']) print('类型',type(ratings)) print(ratings[:5]) |
类型 <class 'pandas.core.frame.DataFrame'> userid movieid ratings timestamp 0 1 1193 5 978300760 1 1 661 3 978302109 2 1 914 3 978301968 3 1 3408 4 978300275 4 1 2355 5 978824291 |
除了pandas.read_table()以外,还有
pandas.read_csv()从文件、URL、文件型对象中加载待分隔符的数据,默认分隔符为逗号。
pandas.read_fwf()读取定宽列格式数据(没有分隔符)
pandas.read_clipboard()读取剪贴板数据
三、 其他
数组读写入文件、json格式、piackle等再整理~~~