主頁 > 知識庫 > python使用NumPy文件的讀寫操作

python使用NumPy文件的讀寫操作

熱門標簽:江蘇客服外呼系統(tǒng)廠家 清遠360地圖標注方法 在哪里辦理400電話號碼 工廠智能電話機器人 平頂山外呼系統(tǒng)免費 西藏智能外呼系統(tǒng)五星服務 原裝電話機器人 千陽自動外呼系統(tǒng) 400電話申請服務商選什么

一、使用NumPy讀寫文本文件

在數據分析中,經常需要從文件中讀取數據或將數據寫入文件,常用的存儲文件的格式有文本文件、CSV格式文件、二進制格式文件和多維數據文件等。

1.將1維或2維數組寫入TXT文件或CSV格式文件 在NumPy中,使用savetxt()函數可以將1維或2維數組寫入后綴名為txt或csv的文件.函數格式為:

**numpy.savetxt(fname,array,fmt='%.18e',delimiter=None,newline='\n', header='', footer='', comments='# ', encoding=None)**

主要參數:
fname:文件、字符串或產生器,可以是.gz 或.bz2 的壓縮文件
array:存入文件的數組(一維數組或者二維數組)
fmt:寫入文件的格式,如:%d,%.2f,%.18e,默認值是%.18e 可選項
delimiter: 分隔符,通常情況是str可選
header:將在文件開頭寫入的字符串
footer:將在文件尾部寫入的字符串
comments: 將附加到header和footer字符串的字符串,以將其標記為注釋。
默認值:'#' encoding:用于編碼輸出文件的編碼。

import numpy as np
arr = np.arange(12).reshape(3,4)
#fmt缺省取%.18e(浮點數)
#分割符默認是空格,寫入文件保存在當前目錄
np.savetxt('test-1.txt',arr)
#fmt:%d 寫入文件的元素是十進制整數,分割符為逗號",",寫入文件保存在當前目錄
np.savetxt('test-2.txt',arr,fmt='%d',delimiter=',')
#在test-3.txt文件頭部和尾部增加注釋,頭部 #test-3,尾部 # 數據寫入注釋,寫入文件的元素是字符串
np.savetxt('test-3.txt',arr,fmt='%s',delimiter=',',header=\

  'test-3',footer='測試數據',encoding='utf-8')
#在test-4.txt文件頭部加##test-4注釋
np.savetxt('test-4.txt',arr,fmt='%f',delimiter=',',header=
  'test-4',comments='###')
#將arr數組保存為csv文件
np.savetxt('test-1.csv',arr,fmt='%d',header='test-1')

2.讀取TXT文件和CSV格式文件 在NumPy中,讀取TXT文件和CSV格式文件的函數是loadtxt(),函數格式:

numpy.loadtxt(fname,dtype=type'float'>,comments='#',delimiter=None, converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding=‘bytes')
#參數說明:
fname:被讀取的文件名(文件的相對地址或者絕對地址)
dtype:指定讀取后數據的數據類型
comments: 跳過文件中指定參數開頭的行(即不讀取)
delimiter:指定讀取文件中數據的分割符
converters: 對讀取的數據進行預處理
skiprows:選擇跳過的行數
usecols:指定需要讀取的列
unpack:選擇是否將數據進行向量輸出
encoding:對讀取的文件進行預編碼

a = np.loadtxt('test-1.txt') 
#讀入當前目錄下的文件 test-1.txt
print(a) 
[[ 0. 1. 2. 3.]
 [ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]
# skiprows:指跳過前1行, 如果設置skiprows=2, 就會跳過前兩行,數據類型設置為整型.
a = np.loadtxt('test-1.txt', skiprows=1, dtype=int)
print(a)
[[ 4 5 6 7]
 [ 8 9 10 11]]
# comment, 如果行的開頭為#就會跳過該行
a = np.loadtxt('test-4.txt', skiprows=2, comments='#',delimiter=',')
b = np.loadtxt('test-4.txt',comments='#',delimiter=',')
print(a,b,sep='\n')
[[ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]
[[ 0. 1. 2. 3.]
 [ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]
# usecols:指定讀取的列,若讀取0,2兩列
aa = np.loadtxt('test-3.txt',dtype=int, skiprows=1,delimiter=',',usecols=(0, 2))
#unpack是指會把每一列當成一個向量輸出, 而不是合并在一起。
(a, b) = np.loadtxt('test-2.txt', dtype=int, skiprows=1,
   comments='#', delimiter=',',
   usecols=(0, 2), unpack=True)
print(aa,a, b,sep='\n')
[[ 0 2]
 [ 4 6]
 [ 8 10]]
[4 8]
[ 6 10]
#讀取csv文件
aa = np.loadtxt('test-1.csv',skiprows=1)
print(aa)
[[ 0. 1. 2. 3.]
 [ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]

二、使用NumPy讀寫二進制文件

1.使用save()或savez()函數寫二進制格式文件

save函數將數組以未壓縮的原始二進制格式保存在擴展名為.npy的文件中。會自動處理元素類型和形狀等信息。
savez函數將多個數組壓縮到一個擴展名為npz的文件,其中每個文件都是一個save()保存的npy文件,文件名和數組名相同
save()或savez()函數的格式:

numpy.save(file,array)
numpy.savez(file,array)

2.使用load()函數讀取二進制格式文件

load()函數的格式: numpy.load(file)

import numpy as np
a = np.arange(12).reshape(3,4)
print('原數組a:\n',a)
np.save('arr1.npy', a) #將數據存儲為npy,保存時可以省略擴展名,默認.npy
c = np.load('arr1.npy') #讀取arr1.npy的數據,讀取數據時不能省略 .npy
print('讀取后的數據:\n',c)

ar = np.arange(6).reshape(3,2) 

print('保存前的數組:',a,ar,sep='\n')
np.savez('arr2.npz',a,ar) #多數組存儲,默認文件名.npz
b = np.load('arr2.npz')
print('讀取后的數據:')
print(b['arr_0'],b['arr_1'],sep='\n')

原數組a:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
讀取后的數據:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
保存前的數組:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[0 1]
[2 3]
[4 5]]
讀取后的數據:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[0 1]
[2 3]
[4 5]]

for i in b.items():
 print(i)
('a', array([[ 0, 1, 2, 3],
 [ 4, 5, 6, 7],
 [ 8, 9, 10, 11]]))
('ar', array([[0, 1],
 [2, 3],
 [4, 5]]))

以上就是python使用NumPy文件的讀寫操作的詳細內容,更多關于python使用NumPy讀寫文件的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python之用Numpy和matplotlib畫一個魔方
  • 用Python的繪圖庫(matplotlib)繪制小波能量譜
  • 使用 NumPy 和 Matplotlib 繪制函數圖

標簽:股票 錦州 天水 白城 西安 日照 隨州 安慶

巨人網絡通訊聲明:本文標題《python使用NumPy文件的讀寫操作》,本文關鍵詞  python,使用,NumPy,文件,的,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python使用NumPy文件的讀寫操作》相關的同類信息!
  • 本頁收集關于python使用NumPy文件的讀寫操作的相關信息資訊供網民參考!
  • 推薦文章