Python中文
首页
教程
问答
标签
搜索
登录
注册
python或awk比较文件
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两个文件是制表符分隔的。我需要比较文件1列3和文件2列1。如果有匹配项,我需要在文件1中匹配行旁边写入文件2的列2。下面是我的文件示例:</p> <p>文件1:</p> <pre><code>a rao rocky1 beta b rao buzzy2 beta c Rachel rocky2 alpha </code></pre> <p>文件2:</p> ^{pr2}$ <p>输出:</p> <p>新文件:</p> <pre><code>a rao rocky1 beta highlightpath b rao buzzy2 beta c Rachel rocky2 alpha greenpath </code></pre> <p>问题是文件1太大了!文件2也很大,但没有那么大。 到目前为止,我尝试了awk命令,它部分工作。我的意思是文件1和输出文件中的行数应该相同,这不是我得到的!我得到了20行的差别。在</p> <pre><code>awk 'FNR==NR{a[$3]=$0;next}{if($1 in a){p=$1;$1="";print a[p],$0}}' file1 file2 > newfile </code></pre> <p>所以我想我可以试试python,但我是python的新手。到目前为止,我只知道我想为文件1和文件2制作一本词典并进行比较。我知道如何把文件读入字典,然后我就知道了空白。任何对代码的帮助和建议将有所帮助。 谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这里有一个更简短的<code>awk</code></p> <pre><code>awk 'NR==FNR {a[$1]=$2;next} {print $0,$3 in a?a[$3]:""}' file2 file1 a rao rocky1 beta highlightpath b rao buzzy2 beta c Rachel rocky2 alpha greenpath </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
1 回答
如何添加表示整数的擦边字符串?
2 回答
如何添加要在Bokeh中使用的新font.ttf文件?
5 回答
如何添加要显示的矩阵XY轴编号和XY轴
7 回答
如何添加计数?
2 回答
如何添加计数器函数?
7 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
3 回答
如何添加计数器来跟踪while循环中的月份和年份?
6 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
10 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
2 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
1 回答
如何添加评论拉梅尔亚姆
9 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
1 回答
如何添加谷歌地点自动完成到Flask?
7 回答
如何添加超时、python discord bot
8 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
10 回答
如何添加跟随游戏的敌人精灵
3 回答
如何添加路径以便python可以找到程序?
8 回答
如何添加身份验证/安全性以使用happybase访问HBase?
10 回答