鱼C论坛

 找回密码
 立即注册
查看: 2663|回复: 13

[已解决]将两个csv合并

[复制链接]
发表于 2017-3-31 15:28:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
将表二的所有数据接到表一下面,生成一个新的文件,求代码,谢谢各位大神
最佳答案
2017-4-6 13:47:11
xq4191868 发表于 2017-4-5 17:26
直接把表二的数据接到表一下面,不需要表二的表头
  1. f1 = open('test1.csv')
  2. f2 = open('test2.csv')
  3. c = list(f1) + list(f2)[1:]
  4. f3 = open('test3.csv', 'w')
  5. f3.writelines(c)
  6. f1.close()
  7. f2.close()
  8. f3.close()
复制代码
QQ截图20170329164304.jpg
表格二.jpg
表格一.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-31 16:36:28 | 显示全部楼层
操作表格的话,建议是用excel的宏代码,你的要求是合并工作薄里面的工作表
去网上查找相关操作的宏代码
给你一个https://www.zhihu.com/question/20366713
Python可能不适合干这种事情,我不是说做不了,只是说没有宏代码简单
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-31 16:40:30 | 显示全部楼层
如果不考虑表头,只是两个文件简单叠加,可以使用dos的copy命令,进入cmd窗口,用cd转换到工作目录,输入命令 copy 文件1.csv+文件2.csv 文件3.csv
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-5 09:39:15 | 显示全部楼层
其实是想研究一下怎样用Python解决,希望大神能给一个可行的代码,谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 10:07:19 | 显示全部楼层
xq4191868 发表于 2017-4-5 09:39
其实是想研究一下怎样用Python解决,希望大神能给一个可行的代码,谢谢!

你把2个csv文件和合并后的例子发上来(如第二个文件的第一行表头是否还要保留),我看看,写一个程序。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-5 17:26:10 | 显示全部楼层
直接把表二的数据接到表一下面,不需要表二的表头
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 13:47:11 | 显示全部楼层    本楼为最佳答案   
xq4191868 发表于 2017-4-5 17:26
直接把表二的数据接到表一下面,不需要表二的表头
  1. f1 = open('test1.csv')
  2. f2 = open('test2.csv')
  3. c = list(f1) + list(f2)[1:]
  4. f3 = open('test3.csv', 'w')
  5. f3.writelines(c)
  6. f1.close()
  7. f2.close()
  8. f3.close()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-6 14:10:19 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-7 09:07:35 | 显示全部楼层

请问我要删除表格里第二列,list命令后怎么写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 11:12:26 | 显示全部楼层
xq4191868 发表于 2017-4-7 09:07
请问我要删除表格里第二列,list命令后怎么写

可以将每行用split做成列表,再pop掉第二列。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 11:35:28 | 显示全部楼层
xq4191868 发表于 2017-4-7 09:07
请问我要删除表格里第二列,list命令后怎么写

可以参考我的程序。
  1. f1 = open('test1.csv')
  2. f2 = open('test2.csv')
  3. c = list(f1) + list(f2)[1:]
  4. c1 = []
  5. for each in c:
  6.     temp = each.split(',')
  7.     temp.pop(1)
  8.     each = ','.join(temp)
  9.     c1.append(each)
  10. f3 = open('test3.csv', 'w')
  11. f3.writelines(c1)
  12. f1.close()
  13. f2.close()
  14. f3.close()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-7 13:17:33 | 显示全部楼层
冬雪雪冬 发表于 2017-4-7 11:35
可以参考我的程序。

再次感谢大神
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-23 10:45:51 | 显示全部楼层
再次请教大神,如何在csv文件中添加一列内容,比如添加到第一列,有个表头,内容全部一致
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-23 11:30:45 | 显示全部楼层
xq4191868 发表于 2017-6-23 10:45
再次请教大神,如何在csv文件中添加一列内容,比如添加到第一列,有个表头,内容全部一致

其实你们问的这些问题都是列表的和文件读取写入的问题
只要你知道列表的操作你想干嘛都行
你这样一直问一直问,自己什么都不知道,一直伸手要代码,没有意义
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-26 13:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表