繁体   English   中英

使用python对Excel工作表进行排序

[英]Sort excel worksheet using python

我有一个这样的excel表:

http://i.stack.imgur.com/F1807.png

我想将数据输出到这样的excel文件中:

http://i.stack.imgur.com/K8tWY.png

基本上,对于第2、3、4列中的公共元素,我想合并第5列中的值。

请提出建议,我该怎么做?

解决此类问题的最简单方法是先将电子表格导出为CSV,以帮助确保将其正确导入到Python中。

使用defaultdict,您可以创建具有唯一键的字典,然后遍历将最后一列的值添加到列表的行。

最后,您可以将其写回CSV格式:

from collections import defaultdict

results = defaultdict(list)

with open("in_file.csv") as f:
    header = f.readline()
    for line in f:
        cols = line.split(",")
        key = ",".join(cols[0:4])
        results[key].append(cols[4])

with open("out_file.csv", "w") as f:
    f.write(header)
    for k, v in results.iteritems():
        line = '{},"{}",\n'.format(k, ", ".join(v))
        f.write(line)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM