首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据(Dict)添加到csv文件上的特定字段名(Key)?

如何将数据(Dict)添加到csv文件上的特定字段名(Key)?
EN

Stack Overflow用户
提问于 2015-10-22 16:24:21
回答 1查看 254关注 0票数 0

编辑:对不起,我会解释一下这个程序的用途。这是为了跟踪用户的新体重纪录。只有当它们超过了以前的重量记录时,该文件才会使用时间戳更新。我希望用户能够使用时间戳看到每个电梯的进度的时间线。这就是为什么我使用lift‘’key‘={data:dict},这样他们就可以引用每个lift类型并查询日期,例如lift’s‘snatch’--这将告诉他们当天的最大值。但我似乎无法正确地将它写入csv文件。谢谢你给我时间!星期五快乐!

我已经研究了好几天了,似乎无法弄清楚如何将数据添加到特定的Fieldname中,这是我的dict中最高级别的键。

我想要添加的数据是它自己的数据。

我是如何在CSV文件中看到它的样子的:

代码语言:javascript
复制
snatch         <>     squat          <>    jerk
10/25:150lbs   <>     10/25:200lbs   <>    10/25:0lbs   

这就是他们创建文件时的样子。我怎么能只更新一个字段。

假设用户当天只蹲着,并希望数据附加到Field

到目前为止我所拥有的是:

代码语言:javascript
复制
import time
import csv
lifts={}
csv_columns = ['snatch','squat','jerk']
creation = time.strftime('%M:%S', time.localtime())

lifts['snatch']={creation:'150lbs'}
lifts['squat']={creation:'200lbs'}
lifts['jerk']={creation:'0lbs'}

try:
  with open(csv_file, 'w') as csvfile:
    writer = csvDictWriter(csvfile, fieldnames=csv_columns)
    writer.writeheader()
    for data in lifts:
      writer.writerow(lifts)
    except IOError as (errno, sterror):
      print("Error")
    return

我问题的->One是,当它写入csv文件时,它写了三次。不太确定为什么。这是我想要的格式,但有三次。

->我还想实现下一段代码并写入特定的列,当我这样做时,它会在其他列中写入null或空格。

代码语言:javascript
复制
lifts['jerk'].update({time.strftime('%M:%S', time.localtime() : '160lbs'})

然后输出

代码语言:javascript
复制
snatch         <>     squat          <>    jerk
10/25:150lbs   <>     10/25:200lbs   <>    10/25:0lbs    10/26:160lbs

对不起,我刚开始使用python,不知道如何使用这个编辑器,我希望这个结果在{10/25:0lbs}下登陆,就像它在excel中显示的那样。

EN

回答 1

Stack Overflow用户

发布于 2015-10-22 17:30:09

了解这里发生了什么是很重要的:lifts是一本包含键字符串(“抓取”、“蹲”、“挺举”)的字典,它的值也是字典。第二层字典有时间戳字符串,用于键和字符串作为值。

我怀疑当您想要更新lifts['jerk']字典时,不会使用与现有条目相同的键(时间戳)。

第二层似乎不需要字典;考虑使用列表,但如果必须的话,您可以这样访问:lifts['jerk'][lifts['jerk'].keys()[0]] (这是相当困难的)--同样,考虑对lifts字典的值使用不同的数据类型,或者使用比时间戳更容易引用的键。

编辑:您可以做一些类似lifts['jerk'] = {'timestamp':creation,'weight':'165lbs'}的操作,这需要对数据进行一些重构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33285891

复制
相关文章

相似问题

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