我正在努力獲取字符串值到Python中的數組。我有一個文件,大約3萬項長,每一行看起來是這樣的:在csv中將字符串條目寫入python中的數組?
0R1,SN = 0.3M,SM = 0.7M,SX = 1.5M
我不需要0R1部分;我需要的只是一個數組中的所有Sn值,另一個數組中的Sm值以及另一個數組中的Sx值(當然,我還沒有弄清楚我將如何從數據串中獲取數值,但我會在稍後考慮)。我想現在我正在嘗試創建一個字符串數組。
這裏是我的代碼:
fname = '\\pathname...\\WXT51003.txt'
f1 = open(fname, 'r')
import csv
import numpy
from numpy import zeros
reader = csv.reader(f1)
Max = zeros((29697,1), dtype = numpy.str)
Mean = zeros((29697,1), dtype = numpy.str)
Min = zeros((29697,1), dtype = numpy.str)
for i, row in enumerate(reader):
Min[i] = row[1]
Mean[i] = row[2]
Max[i] = row[3]
f1.close()
print Min[0:10]
print語句的輸出是每一行與「S」的數組。我如何讓它讀取整個字符串,而不僅僅是第一個字符?
使用一個「S8」dtype或無論你需要你的字符串...或使用dtype.object或任何...默認情況下它將成爲一個len1字符串類型...或不使用numpy(因爲你正在處理字符串無論如何) –
@JoranBeasle你會工作,如果不同的行有不同的字符串長度?例如,如果我有Sn = 0.3M,那麼我有一個7的字符串長度,但如果它是Sn = 10.1M,那麼它是一個不同的字符串長度。 –
作爲lng,因爲你將它設置爲最大長度(請參閱關於dtypes的numpy文檔) –