首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将str转换为浮动python

将str转换为浮动python
EN

Stack Overflow用户
提问于 2018-05-15 22:22:01
回答 1查看 262关注 0票数 1

为什么会抛出一个错误:ValueError: could not convert string to float:

代码语言:javascript
运行
复制
frequencies.append(float(l[start+1:stop1].strip())) 
losses.append(float(l[stop1+5:stop2].strip()))

float()命令不会将值解析为float类型吗?我哪里错了?频率和损耗都是列表

代码如下:

代码语言:javascript
运行
复制
def Capture():
impedance = 0 
losses = [] 
frequencies = [] 
Xtalk = []
start = 0
stop1 = 0
stop2 =0
for filename in glob.glob(os.path.join(user_input, '*.txt')):
    with open(filename, 'r') as f: 
        for l in f.readlines(): 
            if l.startswith(' Impedance'): 
                v = l[12:-7] 
                impedance = float(v) 
            if l.startswith(' Xtalk'): 
                Xtalk.append(l[7:].strip()) 
            if l.startswith(' Loss per inch'): 
                start = l.find('@') 
                stop1 = l.find('GHz', start) 
                stop2 = l.find('dB', start) 
            frequencies.append(float(l[start+1:stop1].strip())) 
            losses.append(float(l[stop1+5:stop2].strip())) 
print(impedance, frequencies, losses, Xtalk)

它基本上从一个文本文件中提取值,并将它们打印到控制台上,文本文件如下所示:

代码语言:javascript
运行
复制
    Impedance = 71.28 ohms

Begin Post processing
Frequency multiplier = 1Hz
number of ports = 12
Start Frequency = 0
End Frequency = 40000000000
Number of Frequency points = 4001
Touchstone Output file = C:\Users\Aravind_Sampathkumar\Desktop\IMLC\BO\Output_TW_3.5-TS_3-core_h_2.xml_5000mil.s12p
Output format = Real - Imaginary
Loss per inch @ 2.500000e+00 GHz = -0.569 dB
Loss per inch @ 5 GHz = -0.997 dB
Xtalk #1 (Conductor 1  2):
    Step response Next= -0.56 mV
    Step response Fext peak @ 5 inches= 0.11 mV
Xtalk #2 (Conductor 5  6):
    Step response Next= -0.56 mV
    Step response Fext peak @ 5 inches= 0.11 mV
Finished post processing
EN

回答 1

Stack Overflow用户

发布于 2018-05-15 22:28:24

首先确定变量的格式是什么。

使用" float ()“解析器无法将带有逗号的字符串转换为浮点型

代码语言:javascript
运行
复制
a = "1,2345"
float(a)
Traceback (most recent call last):
   File "<input>", line 1, in <module>
ValueError: could not convert string to float: '1,2345'
a = "1.2345"
float(a)
1.2345
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50352653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档