【发布时间】:2017-05-02 16:44:25
【问题描述】:
使用 Python 2.7。
我每天早上都运行一个函数,它创建一个带有键和值的输出字典。输出字典结果如下所示:
“约翰”:1
“杰克”:5
“露西”:235
“莎拉”:33
然后我打开一个现有的 csv 文件,其中包含如下所示的列/行:
名称 1/1/17 1/2/17
约翰 5 88
杰克 31 34
莎拉 45 12
露西 77 57
其中A列标题始终为名称,每个连续的列标题为该列中数据的日期。
我正在尝试编写一个函数:
打开 csv, 写入 csv 将日期附加到下一个可用的列标题(即第 1 行) 然后 在 csv 中找到与我的字典中的键匹配的键 将字典中的值附加到 csv 中的下一个打开列
使用我上面的例子,然后
名称 1/1/17 1/2/17
约翰 5 88
杰克 31 34
莎拉 45 12
露西 77 57
变成
名称 1/1/17 1/2/17 1/3/17
约翰 5 88 1
杰克 31 34 5
莎拉 45 12 33
露西 77 57 235
我已经非常接近我想要用以下代码做的事情了:
import pandas as pd
import datetime
starter_df = pd.read_csv('keyword_results.csv', names = ['Keyword'])
#dictionary created by function
test_dic = {"John": 12, "Jake": 45, "Sarah": 31, "Lucy": 18}
now = datetime.datetime.now()
str_date = now.strftime("%m %d %Y")
starter_df[str_date] = starter_df["Keyword"].map(test_dic)
starter_df.to_csv('keyword_results.csv')
我正在将 csv 读入数据帧,尝试将新列映射到数据帧,然后将数据帧输出到 csv。
问题是这会将日期写入新列,但其下方没有数据。
我很茫然,谢谢你的帮助。我还是 Python 新手。
【问题讨论】:
标签: python python-2.7