python - 将从字典中提取的字符串转换为浮点数
问题描述
我有一个包含如下行的文本文件:
0001193125-09-111401 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20081231 0 USD 2570000.0000
0001193125-09-111401 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20090331 0 USD 2185000.0000
0001104659-09-031513 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20081231 0 USD 1227224000.0000
0001104659-09-031513 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20090331 0 USD 1452748000.0000
这是我打开它的代码:
path = "2009q2/num.txt"
with open(path, 'r') as a_file:
for line in a_file:
stripped_line = line.strip()
values_list = stripped_line.split('\t')[0:8]
Wherevalues_list
是一个包含每行数据的列表。现在,我正在制作一个dict
:
values_dict = {
'cik': values_list[0][0:10],
'accession': values_list[0][10::].replace("-", ""),
'tag': values_list[1],
'value': values_list[3],
'valueid': values_list[6],
'date': values_list[4]
}
values_dict['value']
是str
这样的'12345.0000'
。现在,我想将此字符串转换为float
. 我需要的最终结果是12345.0
. 所以,我尝试了:
float(values_dict['value'])
但我收到以下错误:
could not convert string to float: 'value'
我对此感到困惑,然后尝试:
x = '12345.0000'
print(float(x))
输出:12345.0
它可以正常工作,这里有什么问题?
编辑:
的内容2009q2/num.txt"
是:
0001193125-09-111401 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20081231 0 USD 2570000.0000
0001193125-09-111401 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20090331 0 USD 2185000.0000
0001104659-09-031513 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20081231 0 USD 1227224000.0000
0001104659-09-031513 AccountsNotesAndLoansReceivableNetCurrent us-gaap/2008 20090331 0 USD 1452748000.0000
编辑2: 问题是文本文件包含以下标题:
adsh tag version coreg ddate qtrs uom value footnote
所以,当我这样做时,dict["value"]
我得到"coreg"
了 which 是一个字符串。因此,float(values_dict["value"])
提出该错误。
解决方案
感谢纳菲兹·艾哈迈德。问题是文本文件头:
adsh tag version coreg ddate qtrs uom value footnote
所以,当我这样做时,values_list[7]
它会返回'value'
。这根本不是一个float
。
推荐阅读
- laravel-6 - Laravel在开发windows时删除文件
- c# - 如何使用 Microsoft.Azure.Cosmos v3.9.1 从 CosmosDb 读取单个项目
- dictionary - 为什么我需要在 F# 中的这个字典初始值设定项中使用括号
- r - ggmap 的 mapdist() 函数有问题
- flutter - 我可以将 setState 仅用于一个小部件而不是整个页面吗?
- python - matplotlib dataframe 2 column [dates, non-numerical-data] 堆叠条形图定义属性
- logging - 如何在 CherryPy 启动之前设置应用程序 access_log 级别?
- javascript - Carousel Vue Awesome Swiper 有错误循环
- r - 无法解压缩文档解析器
- swagger - Flask RESTPlus swagger 接口不会将 Authorization 标头传递给 curl 请求