[英]remove quotes and squared brackets from list
循環時出現第二個問題。 該列表包含方括號中的字符串:
values = [['16.4 '], ['18.06 '], ['16.4 '], ['18.06 ']]
但結果應該如下所示(沒有引號,沒有方括號):
values = [16.3, 18.06, 16.4, 18.6]
劇本:
name = []
values = []
import itertools
import re
df = open('TESTSOV.csv')
for i,line in enumerate(itertools.islice(df,10)):
if "TYPE" in line:
print('hello')
name.append(re.findall('NAME= (.*?\s)',line))
if re.search(r"\bNOMINAL\b",line):
values.append(re.findall('H= (.*?\s)',line))
print(name, '\n', values)
.csv 文件包含:
<Set Name= Test>
< TYPE NAME= Hello >
<NOMINAL A= B= C= D= E= F= G= 1.10 H= 2.20 I= 3.30 J= >
<2ND_NOMINAL A= B= C= D= E= F= G= 11.00 H= 22.00 I= 33.00 >
< TYPE NAME= bye >
<NOMINAL A= B= C= D= E= F= G= 1.10 H= 2.50 I= 3.30 J= >
<2ND_NOMINAL A= B= C= D= E= F= G= 11.00 H= 22.00 I= 33.00 >
<END>
您正在獲取子列表,因為您正在使用re.findall
而不是使用re.search
從行中獲取單個值。
前任:
for i,line in enumerate(itertools.islice(df,10)):
if "TYPE" in line:
print('hello')
name.append(re.search('NAME= (.*?\s)',line).group(0))
if re.search(r"\bNOMINAL\b",line):
values.append(re.search('H= (.*?\s)',line).group(0))
試試這個:
values = [['16.4 '], ['18.06 '], ['16.4 '], ['18.06 ']]
output = [float(i[0]) for i in values]
print(output)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.