找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15332|回复: 3

[问题求助] [己解决]Python如何读取文本数?

[复制链接]
发表于 2020-12-30 22:17:24 | 显示全部楼层 |阅读模式
本帖最后由 keshun 于 2020-12-31 18:15 编辑

1.txt内容:
A:XRP  B:-36.15%  C:0.1866  D:-32.39%  E:-59.08%  F:0.41%  G:-33.01%
  1. with open("1.txt", "r") as f:
  2.     msg = f.readlines()[0]
  3. print(msg)
复制代码
请教!代码读取1.txt显示'C','F'两组数。
print(C)  #显示0.1866
print(F)  #显示0.41%
发表于 2020-12-31 08:24:14 | 显示全部楼层
  1. with open("1.txt", "r") as f:
  2.     msg = f.readlines()[0].split()
  3.     my_d = {}
  4.     for i in msg:
  5.         my_d[i.split(':')[0]]=i.split(':')[1]
  6. print(my_d['C'])
  7. print(my_d['F'])
复制代码

评分

参与人数 1技术 +1 收起 理由
keshun + 1 乐于助人

查看全部评分

发表于 2020-12-31 09:14:06 | 显示全部楼层
本帖最后由 netdzb 于 2020-12-31 09:16 编辑

回复 2# ivor


代码通不过啊

msg = '''A:XRP  B:-36.15%  C:0.1866  D:-32.39%  E:-59.08%  F:0.41%  G:-33.01%'''

my_d = {}
for i in msg:
    my_d[i.split(':')[0]]=i.split(':')[1]
print(my_d['C'])
print(my_d['F'])

======

my_d[i.split(':')[0]]=i.split(':')[1]这行报错了。
发表于 2020-12-31 09:17:00 | 显示全部楼层
本帖最后由 Gin_Q 于 2020-12-31 10:21 编辑

回复 1# keshun


    你的文本格式是否如你所说,是否统一一致
  1. >>> a
  2.                     
  3. 'A:XRP  B:-36.15%  C:0.1866  D:-32.39%  E:-59.08%  F:0.41%  G:-33.01%'
  4. >>> b=a.split()
  5.                     
  6. >>> b[2].split(':')
  7.                     
  8. ['C', '0.1866']
  9. >>> b[5].split(':')
  10.                     
  11. ['F', '0.41%']
复制代码
  1. >>> a
  2. 'A:XRP  B:-36.15%  C:0.1866  D:-32.39%  E:-59.08%  F:0.41%  G:-33.01%'
  3. >>> d=re.compile('[CF]:(\d+.?\d+%?)')
  4. >>> d.findall(a)
  5. ['0.1866', '0.41%']
复制代码

评分

参与人数 1技术 +1 收起 理由
keshun + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:49 , Processed in 0.018406 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表