首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将python中定义的变量解析为文本文件

将python中定义的变量解析为文本文件
EN

Stack Overflow用户
提问于 2019-01-04 06:33:25
回答 2查看 36关注 0票数 -1

我是新人,如果有人能帮助我,我会寻求帮助。我已经能够用定义的可变权重的输出创建一个文本文件。但它写入/打印/发布的数据比我需要的要多得多。下面是我拥有的.py中的以下内容。

代码语言:javascript
复制
#!/usr/bin/python
import myfitnesspal
import requests
import lxml
import measurement
import six
import mock
import datetime

client = myfitnesspal.Client('username', 'password')

weight = client.get_measurements('Weight')
print weight

file = open("ChrisFitPal.txt", "w") 
file.write(repr(weight) + '\n' )
file.close() 

我得到的输出是文本文件中的以下内容,但我只希望它显示文本的一小段

这是它在文本文件中显示的内容

OrderedDict((datetime.date(2019,1,2),174.4),(datetime.date(2018年,12,26),175.6),(datetime.date(2018年,12,21),175.1),(datetime.date(2018年,12,13),173.2),(datetime.date(2018,12,7),175.0))

我只想让文本文件显示粗体和斜体的数字,而不是其他的数字。所以输出应该是

174.4

这个是可能的吗?

EN

回答 2

Stack Overflow用户

发布于 2019-01-04 06:38:17

您可以更改:

代码语言:javascript
复制
file.write(repr(weight) + '\n' )

至:

代码语言:javascript
复制
file.write(a[next(iter(a))] + '\n' )

其中:

代码语言:javascript
复制
a = OrderedDict([(datetime.date(2019, 1, 2), 174.4), (datetime.date(2018, 12, 26), 175.6), (datetime.date(2018, 12, 21), 175.1), (datetime.date(2018, 12, 13), 173.2), (datetime.date(2018, 12, 7), 175.0)])

这将为您提供一个OrderedDict值的迭代器对象。调用next将迭代器前进1,给出第一项的关键字。然后,您可以使用该键来访问针对该键存储的值。Raymond Hettinger in this answer提供了一些选项

票数 0
EN

Stack Overflow用户

发布于 2019-01-04 06:41:01

看起来您将从client.get_measurements('Weight')返回一个字典,因此您可以将其转换为一个列表,并对其进行索引以仅获取特定的条目

代码语言:javascript
复制
d={'a':1,'b':2,'c':3}

list(d.items())
[('a', 1), ('b', 2), ('c', 3)]

list(d.items())[0]
('a', 1)

list(d.items())[0][1]
1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54030726

复制
相关文章

相似问题

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