我有一個CSV檔案,其中有一列在一個位置存盤了兩個值,如[345 1234],但有時沒有值,如[]或只有一個[456]。
我寫了一個腳本,對空值或單值作業得很好,但對雙值則失敗。我試著分割,用,替換空格,但由于是空值或單值,所以出現了錯誤。我怎樣才能在回圈中包含這兩個值,從而對空值和單值都有效呢?
df檔案格式如下: 20200423.GS022.mseed_597000,[ ], 20200423.GS022.mseed_600000,[ ], 20200423.GS022.mseed_603000,[424 1901], 20200423.GS022.mseed_606000,[2259], 我得到這個錯誤, ValueError: 無法將字串轉換為浮點數: '424 1901' uj5u.com熱心網友回復: 失敗的原因是你正在將 然而,如果兩者都是一個單一的值,如
標籤:#code for an empty or single value。
with open('myfile.txt','w) as f。
for i in range(len(df)) 。
itp = df.iloc[i, 1].replace('[', '').replace('] ', ')
if itp != '':
P=int(float(itp))/100。
else:
P=0。
itp轉換為float,然而424 1901是一個字串,其中有空格,因此不能轉換為float。
如果424和1901是兩個不同的值,你可以使用以下代碼:with open('myfile.txt'/span>,'w'/span>) as f。
for i in range(len(df)) 。
itp = df.iloc[i, 1].replace('[', '').replace('] ', ')
for val in itp.split():
if val != '':
P=int(float(val))/100。
else:
P=0。
print (f'P: {P}'/span>)
4241901,你可以使用以下代碼:with open('myfile.txt'/span>,'w'/span>) as f。
for i in range(len(df)) 。
itp = df.iloc[i, 1].replace('['/span>, ''/span>). replace(']', '').replace(" ",")
if itp != '':
P=int(float(itp))/100。
else:
P=0。
