我有一個標簽分層的 txt 檔案。其中一列包括浮點數,然后是字串。我不想在字串之后包含所有內容。所以不是 lum 串列看起來像 .25 1,.47-4... 我的串列只有 .25,.47 ...
[
顯然現在我的錯誤顯示為“無法將字串轉換為浮點數:'.25 1”
有什么建議嗎?
uj5u.com熱心網友回復:
您可以輕松獲取該值".25 1"并為兩者使用其 .split() 函式' ','-'然后只使用串列中的第一個值,如下所示
val = '.25 1'
parts = val.split(' ' if ' ' in val else '-')
print(parts[0]) #Output is """ .25 """
或者,如果字串中有除 或 - 之外的其他字符,您可以在迭代每個字符時創建一個新字串,如下所示:
val = '.25 1'
newString = ''
for char in val:
if not char.isdigit() and char != '.': break
newString = char
print(float(newString)) #Output is """ .25 """
uj5u.com熱心網友回復:
將來,請使用原始文本(復制過去)而不是螢屏截圖。
lum = []
f = open('.\\test_big.txt')
lines = f.readlines()
for x in lines:
data = x.split('\t')
if ' ' in data[5]:
part01 = data[5].split(' ')
final_value = float(part01[0])
if '-' in data[5]:
# one line
final_value = float(data[5].split('-')[0])
lum.append(final_value)
print(lum)
輸出:[0.25, 0.47, ...]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/410749.html
標籤:
上一篇:從字串中獲取int陣列
