python - 从列表中删除引号和方括号
问题描述
循环时出现第二个问题。该列表包含方括号中的字符串:
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))
推荐阅读
- c# - 如何加快删除 Excel 中的列?
- c# - 在 Gridview 中加密 DataNavigateUrlFormatString 的查询字符串
- c++ - 为什么原始卷曲构造函数 {} 不返回右值?
- java - Java - 如何将一个类中的 ArrayList 中的项目传递给另一个类中的构造函数//getter 和 setter?
- python - 为什么 TensorFlow 总是使用 GPU 0?
- java - php AES 加密的 Java 等效项
- asp.net-mvc - 当在 MVC 的地址栏中提供 URL 时,有什么方法可以重定向页面?
- rest - 我应该使用 POST 请求向我的服务器发送检索请求以获取大量 id 吗?
- filter - 如何在 .net 核心创建自定义过滤器
- c - 在 c 中实现调度算法的建议