python-3.x - 使用python脚本将两个csv文件合并为一个csv文件
问题描述
我有两个 CSV 文件。file1 有一个只有一条记录的标题,而 file2 有一个标题和多条记录。
文件1:
dept_id dept_role dept_name dept_date dept_ service
10 man develop 10/5/2019 13:24 user
file2:
id name starttime end time user manufacturing
5487 abc 10/5/2019 14:24 10/5/2019 17:24 loc king
5896 egdt 10/5/2019 14:24 10/5/2019 17:24 rgf king
6305 abc 10/5/2019 14:24 10/5/2019 17:24 srf king
6714 egdt 10/5/2019 14:24 10/5/2019 17:24 sd king
7123 abc 10/5/2019 14:24 10/5/2019 17:24 loc king
7532 egdt 10/5/2019 14:24 10/5/2019 17:24 rgf king
7941 abc 10/5/2019 14:24 10/5/2019 17:24 srf king
预期输出如下:
dept_id dept_role dept_name dept_date dept_ service id name starttime end time user manufacturing
10 man develop 10/5/2019 13:24 user 5487 abc 10/5/2019 14:24 10/5/2019 17:24 loc king
10 man develop 10/5/2019 13:24 user 5896 egdt 10/5/2019 14:24 10/5/2019 17:24 rgf king
10 man develop 10/5/2019 13:24 user 6305 abc 10/5/2019 14:24 10/5/2019 17:24 srf king
10 man develop 10/5/2019 13:24 user 6714 egdt 10/5/2019 14:24 10/5/2019 17:24 sd king
10 man develop 10/5/2019 13:24 user 7123 abc 10/5/2019 14:24 10/5/2019 17:24 loc king
10 man develop 10/5/2019 13:24 user 7532 egdt 10/5/2019 14:24 10/5/2019 17:24 rgf king
10 man develop 10/5/2019 13:24 user 7941 abc 10/5/2019 14:24 10/5/2019 17:24 srf king
当我运行下面的代码时,我的列填充不正确 - 文件 1 和 2 中的最后一列被合并。
解决方案
在这里我添加了我的脚本:
import os, sys, csv from itertools
import product
def main():
with open('file1.csv', 'r') as f1, open('file2.csv', 'r') as f2:
reader1 = csv.reader(f1, dialect=csv.excel_tab)
reader2 = csv.reader(f2, dialect=csv.excel_tab)
header1, header2 = next(reader1),next(reader2)
with open('filen.csv', 'w',newline='\n') as out:
writer = csv.writer(out, dialect=csv.excel_tab)
writer.writerow(header1+ header2)
writer.writerows(row1 + row2
for row1, row2 in product(reader1,reader2))
main()
print('file merge completed')
推荐阅读
- javascript - 当子菜单已经“活动”时如何将“活动”添加到菜单父级
- vue.js - Vue .js v-on:输入如何将参数(输入值和索引)传递给计算属性
- json - 加载位置文件失败:在水槽中使用 TAILDIR 源时出现错误
- twitter - 如何在 chrome 扩展中使用 Twitter API 来获取加密货币数据?
- android - 我无法使用 Facebook 登录
- php - 如何避免 CodeIgniter 中的跨站请求伪造
- java - 服务器停止在 Netty IO 中服务请求后如何重新连接到服务器
- powershell - 从 powershell 向自动化帐户的 AAD 应用程序提供 AAD 权限
- c# - 使用 json.net (XAMARIN) 一一反序列化 JSON 对象
- c++ - 如何在 C++ 中从头开始反序列化文件(无库)