一、 使用內置文件讀取函數
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等再整理~~~