Python文本文件到字典中

2024-09-30 20:31:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始用python处理文本文件(如何以不同的方式返回文本文件,如何生成文本文件等等),我发现在python中文本文件也可以作为dicitory返回,我想知道如何才能实现这一点。假设我有一个文本文件,其中包括一些类型的货币和它们的买入和卖出价值,我想用某种字典的形式返回它们。例如,文本文件将包括:

Num Date____ Bank Type_______ NCu CCu Buy___________ Sell__________
001 20161130 NLB_ individuals 840 USD 0001,074800000 0001,050800000 

并返回某种字典,其中包括货币作为键,其买入和卖出值的元组作为键。因此上面的文本文件将生成:

^{pr2}$

如果能帮助您在python中实现这种回报,我们将不胜感激。在


Tags: 类型date字典type方式货币buynum
2条回答

文本:

^{1}$

在主.py公司名称:

^{pr2}$

将空格" "处的每一行拆分为一个包含数据的列表:

data = line.split(" ")

然后必须将字符串"0001,07400"转换为float。可以使用float( ),但这需要先将"0001,07400"转换为{}:

float(data[6].replace(",", "."))

这是简单的文件解析。但是,当数据丢失(即7个条目而不是8个条目)或者格式不同(0001.074而不是0001,074)或者或者或者。。。在这种情况下,你可能需要做出额外的区分。在

让我们每行处理一行文件,创建一个字典,拆分行,并创建条目,在此过程中将文本转换为浮点(逗号必须替换为点)

^{1}$

结果:

^{pr2}$

这只是一个独立的测试。使用文件运行时,只需将字符串替换为:

with open("input.txt") as test:

它的作用是一样的,但以一个文件作为输入。在

(或者使用csv模块,但是1)对于您的情况来说,这似乎有点过头了;2)我们不知道分隔符是制表符、空格还是多于1个空格/制表符。str.split也可以处理这个问题,所以我会一直使用它,直到包含空格的字段出现为止:)

相关问题 更多 >