学一点总结一点,积少成多^_^

需求:有两个csv文件,需要按列合并。举例如下:

a.csv:

column1    column2    column3

a1               a21 a22      a31 a32

b1               b21 b2       b3   b32

b.csv:

column1    column2    column3

a1               a21 a22      a33

c                c1    c2        c31 c3

c.csv

column1     column2      column3

a1                 a21 a22      a31 a32 a33

b1               b21 b2       b3   b32

c                c1    c2        c31 c3

要求:把 a.csv 和 b.csv 按列合并,得到 c.csv。

实现:

hdr = 'column1, column2, column3'.split(',')

1. 核心算法函数:

def merge_dict1_into_dict2(dict1, dict2):

for k2, value2 in dict2.items():

if k2 in dict1:

for idx in hdr:

if value2 [idx] != dict1[k2][idx]

set1 = set(dict1[k2][idx].split(' '))

set2 = set(value2[idx].split(' '))

dict1[k2] = ' '.join(set1 | set2)

else:

dict1[k2] = value2

2. 把 a.csv 和 b.csv 分别读到两个二维字典里:dict1, dict2

//明天再写...

dict1 = dict([(iter['column1'], iter) for iter in csv.DictReader(open('a.csv', 'r')) if 'column1' in iter])

merge_dict2_into_dict1(dict1, dict2)

3. 把用函数处理过的 dict1 写入 c.csv文件。

4. 有木有人知道tab键怎么敲,手工输‘’太累了。。。

python合并csv文件、并利用结果进行计算_python合并csv文件相关推荐

  1. win7 打开文件 计算机,如何在win7计算机上打开dat文件,如何在win7计算机上打开dat文件...

    详细地,许多计算机用户知道计算机中dat文件的两种主要格式. 一个是纯文本文件,类似于txt文件,可以用记事本,书写板dat格式文件用什么打开方式,ue,winhex等工具打开,另一个是多媒体图像文件 ...

  2. python 读写csv文件(创建、追加、覆盖)_python 读写csv文件(创建,追加,覆盖)...

    总述: 这篇博客讲述python怎样创建,读写,追加csv文件 创建: 利用csv包中的writer函数,如果文件不存在,会自动创建,需要注意的是,文件后缀一定要是.csv,这样才会创建csv文件 这 ...

  3. python csv模块 一次读多行_python中csv模块读取reader只能读取一次

    各位好,请问python读取csv文件时只能读取一次是为什么 现在有一个csv文件 大概是这个样子 现在对ID和length进行读取 import csv with open('ccc.csv','r ...

  4. python文件读写用到的库_python 读写txt文件并用jieba库进行中文分词

    python用来批量处理一些数据的第一步吧. 对于我这样的的萌新.这是第一步. #encoding=utf-8 file='test.txt'fn=open(file,"r")pr ...

  5. python写ini文件不能保持原有顺序问题_python 生成 xml文件 属性的顺序问题

    需求很奇葩. 文档示例 用python 的xml 导出的xml文件,相应的内容是 我们都知道,属性的顺序是不影响,xml值的读取的. 但是,就是有奇葩的需求,需求方还非常强势,说了不影响,但还是要求顺 ...

  6. lsof查看进程占用文件_Linux 利用lsof命令查找已经删除的文件来释放磁盘空间

    测试环境一台服务器/ 根目录空间使用率达到94%,但是通过du -sh * 发现实际空间没没用用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh * ...

  7. 在python中对文件操作的一般步骤是_python中对文件的操作

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  8. 在解压缩某些文件时出现问题检查计算机上,解压缩超大文件时出现问题

    我已经得到了一些压缩的文件,但是解压是30GB+的,而且是在Windows中压缩的.我试图使用EC2实例创建一个系统来解压这些实例,但是我一直在耗尽内存(错误IOError: [Errno 28] N ...

  9. python合并excel文件关键字_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

最新文章

  1. c语言可移植性较差吗,c陷阱与缺陷--可移植性缺陷
  2. Huawei S8512
  3. commons-lang3:DateUtils
  4. overflow滚动条属性
  5. 2017.9.13 序列维护 思考记录
  6. [HNOI2012]集合选数 BZOJ2734
  7. python读取一个文件的大小_Python-读取文件的大小
  8. vue-router路由懒加载(解决vue项目首次加载慢)
  9. 用c语言定义一个分式方程,计算机C语言实验报告(00001)
  10. npm、cnpm、yarn的安装与常用命令
  11. 银河麒麟支持php吗,银河麒麟Linux
  12. 110道 Redis面试题及答案 (持续更新)
  13. Unity-黑暗之魂复刻-手柄接入与配置(Joystick)
  14. 如何把ISO镜像转换成Docker镜像
  15. 字符串模板和dom模板的区别
  16. 数字藏品交易平台如何上架数字藏品?
  17. 中国新零售行业展望及十四五发展规划建议报告2022-2028年
  18. screen显示窗口查看历史输出
  19. 网络规划设计师怎么样
  20. springboot、quartz定时任务未触发

热门文章

  1. 软件测试:Jmeter关联详解
  2. 常用的sql语句用法
  3. python web开发基础_python web开发基本概念
  4. 学音视频一定要掌握这几个算法
  5. u-boot移植随笔:终于解决Nor Flash的问题了
  6. windows上使用Git bash详细图文教程
  7. django excel 导出页面_Django Admin中增加导出Excel功能过程解析
  8. rocketmq 重复消费_消息队列 RocketMQ
  9. 【Kafka】kafka 客户端 控制台 flink 都无法消费的情况
  10. 【elasticsearch】elasticsearch 熔断器