我有文本文件,其中每個文件有90列時間序列數據的長度不同。在這90列之前,我想刪除6行垃圾字符串數據。從第7行開始,數據都是float類型的。python:通過txt文件循環並刪除前幾行字符串
我曾嘗試以下,但它並沒有改變我的文件:
folder = '/Users/LR/Desktop/S2'
files = os.listdir(folder)
for filename in files:
lines = open(filename).readlines()
open(filename, 'w').writelines(lines[6:])
我也嘗試加載文件,並跳過第6行,但numpy.loadtxt沒有工作,除非我設置dtype ='str'。它成功地刪除了前6行..但它導入爲一個字符串ndarray對象,我不知道如何將其轉換爲浮點數組。
data = np.loadtxt('STS2.txt', delimiter = '\t', skiprows=6, dtype='str')
data = data.astype(float) # this gives the error: ValueError: could not convert string to float:
當我設置的D型=浮動,我會得到相同的ValueError異常:
data_float = np.loadtxt('STS2.txt', delimiter='\t', dtype=float, skiprows=7) # this gives the error: ValueError: could not convert string to float:
任何人都知道的方式來解決這個問題?
您可能想要使用'os.path.join(文件夾,文件名)'。 – smarx
我在哪裏添加這個到我的代碼?對不起,即時通訊新的python和編碼一般 – thymeandspace
'打開(os.path.join(文件夾,文件名))'和'打開(os.path.join(文件夾,文件名),'W')' – smarx