一、問題:從這個 https://blog.csdn.net/qq_42052864/article/details/81591511 中獲得的靈感,但是我是要實現存儲為2行n列的?怎么辦呢?
import numpy as np wab1 = [1,2,3,4,5,6,7] wab2 = [7,6,5,4,3,2,1] np.savetxt('new.csv',wab2, delimiter = ',')
#結果:new.csv 7.00E+00 6.00E+00 5.00E+00 4.00E+00 3.00E+00 2.00E+00 1.00E+00
解決方法1:那我在存儲一次不就行了?
import numpy as np wab1 = [1,2,3,4,5,6,7] wab2 = [7,6,5,4,3,2,1] np.savetxt('new.csv',wab1, delimiter = ',')
#結果:new.csv 1.00E+00 2.00E+00 3.00E+00 4.00E+00 5.00E+00 6.00E+00 7.00E+00 #被覆蓋了,哈哈,以失敗告終
解決方法2:np.array(my_matrix).reshape(7,2)
到后面才發現這個np.array是將將每個元素按順序拿出來,然后重新行排列為想要的m*n
那么我們將兩個列表交叉插入后就可以存儲了,試試吧!
import numpy as np wab1 = [1,2,3,4,5,6,7] wab2 = [7,6,5,4,3,2,1] list2 = [] for (i,j) in zip(wab1,wab2): list2.append(i) list2.append(j) print(list2) a = np.array(list2).reshape(7,2) print(a) np.savetxt('new.csv',a, delimiter = ',')
#output [1, 7, 2, 6, 3, 5, 4, 4, 5, 3, 6, 2, 7, 1] [[1 7] [2 6] [3 5] [4 4] [5 3] [6 2] [7 1]] #new.csv 1.00E+00 7.00E+00 2.00E+00 6.00E+00 3.00E+00 5.00E+00 4.00E+00 4.00E+00 5.00E+00 3.00E+00 6.00E+00 2.00E+00 7.00E+00 1.00E+00
這樣就可以了啊!嘻嘻!
中途遇到的小問題:
import numpy as np wab1 = [1,2,3,4,5,6,7] wab2 = [7,6,5,4,3,2,1] #轉換成列 Wab1 = np.array(wab1).reshape(-1,1) Wab2 = np.array(wab2).reshape(-1,1) my_matrix = [Wab1,Wab2] #這是一個矩陣7*1*2,不是 7*2 的
二。提取數據:
csv文件是這么操作的:
b = np.loadtxt(open("new.csv","rb"),delimiter=",",skiprows=0) print(b)
#結果: [[1. 7.] [2. 6.] [3. 5.] [4. 4.] [5. 3.] [6. 2.] [7. 1.]]
txt文件如下:
np.savetxt('new.txt',a, delimiter = ',') c = np.loadtxt('new.txt',delimiter=",") print(c)
#結果: [[1. 7.] [2. 6.] [3. 5.] [4. 4.] [5. 3.] [6. 2.] [7. 1.]] #new.txt 1.000000000000000000e+00,7.000000000000000000e+00 2.000000000000000000e+00,6.000000000000000000e+00 3.000000000000000000e+00,5.000000000000000000e+00 4.000000000000000000e+00,4.000000000000000000e+00 5.000000000000000000e+00,3.000000000000000000e+00 6.000000000000000000e+00,2.000000000000000000e+00 7.000000000000000000e+00,1.000000000000000000e+00
三、如果遇到這個(請把csv文件關閉):
Traceback (most recent call last): File "C:\Users\Administrator\Desktop\矩陣導入csv導入數據-實驗\import-data-exp.py", line 13, in <module> np.savetxt('new.csv',a, delimiter = ',') File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\lib\npyio.py", line 1359, in savetxt open(fname, 'wt').close() PermissionError: [Errno 13] Permission denied: 'new.csv'