【发布时间】:2015-03-06 23:43:44
【问题描述】:
我正在尝试将 pandas DataFrame(单列)附加到现有的 CSV,很像 this post,但它不起作用!相反,我的列被添加到 csv 的底部,并一遍又一遍地重复(csv 中的行 >> 列的大小)。这是我的代码:
with open(outputPath, "a") as resultsFile:
print len(scores)
scores.to_csv(resultsFile, header=False)
print resultsFile
终端输出:4032
<open file '/Users/alavin/nta/NAB/results/numenta/artificialWithAnomaly/numenta_art_load_balancer_spikes.csv', mode 'a' at 0x1088686f0>
提前谢谢你!
【问题讨论】:
-
另外两个信息会有所帮助:1)
resultsFile的现有内容是什么样的? (通过手动检查文件进行确认)和 2)scoresDataFrame 是什么样的? (scores.head(10)就足够了) -
它在文件末尾附加了
scores数据框,因为这就是 pandasto_csv功能的工作方式。如果您想在原始 csv 数据框中附加scores作为新列,则需要将 csv 读取到数据框中,附加scores列,然后将其写回 csv。 -
resultsFile是 5 列的 csv:'timestamp'、'value'、'aaa'、'bbb'、'label'。我希望第 6 个是scoresDataFrame。我已经验证所有列的长度相同。scores有一个列标题“s”。 -
@aus_lacy 我应该澄清一下,我正在尝试在不读取 csv 的情况下执行此操作...
-
@alavin89 我认为不可能在不打开文件并解析数据的情况下将列附加到 csv 中的原始数据帧,因为 python 无法知道存在数据帧在要附加到的 csv 中。