python文件的读取和写入
最近一直在做數(shù)據(jù)的處理,其中要包括讀寫文件,現(xiàn)在總結(jié)一下用到的python讀寫文件的三種方式。
1.第一種是經(jīng)常使用的readline和write的方法,該方法主要以字符串的形式進行讀寫。
讀文件:
file=open(‘文件路徑’,‘r’)
line = file.readline()
readline([size]):從文件讀取整行,包括‘\n’字符。如果給定的是一個負數(shù)或未給定則讀取整行,給定的是一個正數(shù),則返回指定大小的字節(jié)數(shù)。返回數(shù)據(jù)類型為字符串。
寫文件:
file = open(‘文件路徑’,‘w’) 如果沒有改文件就自動創(chuàng)建
file.write()
2.第二種是使用pandas來進行文件的讀取,pandas是專業(yè)處理數(shù)據(jù)的,是一款數(shù)據(jù)處理的神器。
在讀寫文件之前要先導入pandas的庫
import pandas as pd
如果沒有安裝pandas的庫,可以使用pip install pandas來進行安裝。
讀文件:
pd.read_csv()
pd.read_csv(File, header=None, sep=’|’,index_col=None,dtype = str,chunksize=5000000)
寫文件:
df = DataFrame(outList,dtype = str)
df.to_csv(Path ,mode = ‘a(chǎn)’,sep = ‘^’,index =False,header=False)
由于相應(yīng)的參數(shù)比較多,這里就用幾個常用的,其他自行百度。
3.第三種就是使用numpy來讀寫數(shù)據(jù)
讀文件
numpy.loadtxt
根據(jù)前面定制的保存格式,相應(yīng)的加載數(shù)據(jù)的函數(shù)也得變化.
參數(shù)介紹
numpy.loadtxt(fname, dtype=<class ‘float’>, comments=’#’, delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding=‘bytes’)
fname:文件名/文件路徑,如果文件后綴是.gz或.bz2,文件將被解壓,然后再載入
dtype:要讀取的數(shù)據(jù)類型
comments:文件頭部或者尾部字符串的開頭字符,用于識別頭部,尾部字符串
delimiter:劃分讀取上來值的字符串
converters:數(shù)據(jù)行之間的分隔符
…后面不常用的就不寫了
numpy.savetxt
保存數(shù)組到文本文件上,可以直接打開查看文件里面的內(nèi)容.
參數(shù)介紹
numpy.savetxt(fname, X, fmt=’%.18e’, delimiter=’ ‘, newline=’\n’, header=’’, footer=’’, comments=’# ', encoding=None)
fname:文件名/文件路徑,如果文件后綴是.gz,文件將被自動保存為.gzip格式,np.loadtxt可以識別該格式
X:要存儲的1D或2D數(shù)組
fmt:控制數(shù)據(jù)存儲的格式
delimiter:數(shù)據(jù)列之間的分隔符
newline:數(shù)據(jù)行之間的分隔符
header:文件頭步寫入的字符串
footer:文件底部寫入的字符串
comments:文件頭部或者尾部字符串的開頭字符,默認是’#’
encoding:使用默認參數(shù)
總結(jié)
以上是生活随笔為你收集整理的python文件的读取和写入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Keras运行代码时出现的问题及解决方法
- 下一篇: 皮尔逊相关系数 定义+python代码实