python C 根据列中的数据合并两个CSV文件
发布时间:2023-12-22 03:30:54 所属栏目:Python 来源:DaWei
导读: 我有两个csv文件,如下所示.
CSV1
data13 data23 d main_data1;main_data2 data13 data23
data12 data22 d main_data1;main_data2
CSV1
data13 data23 d main_data1;main_data2 data13 data23
data12 data22 d main_data1;main_data2
|
我有两个csv文件,如下所示. CSV1 data13 data23 d main_data1;main_data2 data13 data23 data12 data22 d main_data1;main_data2 data12 data22 data11 data21 d main_data1;main_data2 data11 data21 data3 data4 d main_data2;main_data4 data3 data4 data52 data62 d main_data3 data51 data62 data51 data61 d main_data3 main_data3 data61 data7 data8 d main_data4 data7 data8CSV2 id1 main_data1 a1 a2 a3 id2 main_data2 b1 b2 b3 id3 main_data3 c1 c2 c3 id4 main_data4 d1 d2 d3 id5 main_data5 e1 e2 e3现在我的问题是,我知道当两个文件中的一列完全相同时如何合并两个CSV文件.但我的问题有点不同. CSV1中的第4列可以包含CSV2中的第2列.我想获得一个CSV文件,如下所示 FINAL_CSV id1 main_data1 a1 a2 a3 data13 id2 main_data2 b1 b2 b3 data3 id3 main_data3 c1 c2 c3 main_data3 id4 main_data4 d1 d2 d3 data7 id5 main_data5 e1 e2 e3哪里: 我完全迷失了如何做到这一点.帮助它的一部分也很好.任何建议都非常感谢. 编辑:实际上,’main_data’可以在CSV2的任何列中,而不仅仅在column2中.相同的’main_data’也可以在多行中重复,然后我想获得所有相应的行. 解决方法 (g)awk的一种方式. awk -F,'NR==FNR{a[$2]=$0;next} {split($4,b,";");x=b[1]} (x in a)&&!c[x]++{d[x]=$5} ($5 in a){d[$5]=$5} END{n=asorti(a,e);for(i=1;i<=n;i++)print a[e[i]]","d[e[i]]}' CSV1 CSV2产量 id1,main_data1,a1,a2,a3,data13 id2,main_data2,b1,b2,b3,data3 id3,main_data3,c1,c2,c3,main_data3 id4,main_data4,d1,d2,d3,data7 id5,main_data5,e1,e2,e3,(编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- import pyttsx在python 2.7中工作,但不在python3中
- python – 测试Flask登录和身份验证?
- Python Popen shell = False导致OSError:[Errno 2]没有这样
- 如何使用基于numpy的日期的窗口获取时间序列的回溯移动平均
- python – Django和Node – 它是如何工作的?
- Python中具有动态大小的多维数组
- python – 在Matplotlib中绘制两行之间的角度的最佳方式
- 轻量级设置,以纯Python生成网页
- python – tkinter中的标签宽度
- Django和Elastic Beanstalk URL运行状况检查
推荐文章
站长推荐
