【发布时间】:2015-09-29 04:32:06
【问题描述】:
我有一组成对的起点和终点数据作为行。其中每一个都有从起点移动到目的地的人数。这个人数变化很大(从约 4 人到 >200 人)。
我想要实现的是将这些行转换为列表方式,其中两行代表一个移动......这听起来很不直观,但这是我需要将数据读入映射包的格式正在使用。
我希望下面的图片能更好地说明我正在尝试做的事情 - 红色单元格代表 4 次移动(总计列),然后将其转换为 8 行,起点和终点配对重复 4 次。
Excel 将在此期间工作(作为概念证明),但如果我要处理整个数据集,我将获得超过 200 万条记录(至少) - 所以数据库或 Python 解决方案将需要 - 只是为了生成最终列表的 *.csv 文件。
注意 - Total 列加倍 表示需要的行数 - 所以如果 5 个人移动,则需要 10 行。
所以 - 我已将此问题标记为 Excel、Access 或 Python 解决方案。我是 VBA 或 Python 的新手,但我愿意接受建议。
更新 非常感谢萨罗!该解决方案效果很好(适当更改了输入和输出 .csv 的文件路径) - 这是从数据中提取的动画的屏幕截图!
【问题讨论】:
-
你可以直接生成csv文件——它不像输出需要适合Excel...原始数据是什么格式的?
-
虽然您的可视化效果很好,但如果您还放置一些原始输入数据的 sn-p(我们不知道它是 excel 还是 csv 或其他)并发布您的内容,将会有所帮助到目前为止已经尝试过了。使用 Python 可以轻松地逐行浏览文件,然后根据您的“总计”列使用循环生成新条目。如果你最终还是需要一个 csv 而你还没有开始,那就用 python 试试吧 :)
-
Tim - 它是一个 CSV,我只是用 Excel 来做图片。输出为 CSV 是必需的
-
@AndrewTice 感谢展示结果,看起来不错 :) 很高兴我能提供帮助。
标签: python excel vba ms-access