利用python合并两个文件

Posted Dicky_Zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用python合并两个文件相关的知识,希望对你有一定的参考价值。

1格式如下

在做利用zabbix的api来批量添加主机的时候,需要处理ip和hostname,在借用别人写的py程序的基础上,自己有改装了以下脚本,为自己使用。需要时ip和hostname为一个统一格式。

$ cat ip.txt 
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
$ cat hostname.txt
tx-1
tx-2
tx-3
tx-4

最后需要合并为如下格式

1 tx-1,1.1.1.1
2 tx-2,2.2.2.2
3 tx-3,3.3.3.3
4 tx-4,4.4.4.4

上脚本1:

 1 cat ip_hostname.py
 2 
 3 #!/usr/bin/env python
 4 #_*_coding:utf-8_*_
 5 
 6 import itertools
 7 
 8 with open("ip.txt") as f:
 9     txt1=[r.rstrip("\n") for r in f.readlines()]
10 with open("hostname.txt") as f:
11     txt2=[r.rstrip("\n") for r in f.readlines()]
12 
13 
14 result=itertools.izip_longest(txt1,txt2,fillvalue= )
15 #[print(r) for r in result]
16 
17 with open("result.txt","w+") as f:
18     [f.write(,.join(r)+"\n") for r in result]

或者使用参数:(简练)

 1 cat ip-hostname.py
#!/usr/bin/env python 2 # coding: utf-8 3 4 import sys 5 import csv 6 file1=sys.argv[1] 7 file2=sys.argv[2] 8 9 ip=open(file1,r).readline().strip() 10 hostname=open(file2,r).readline().strip() 11 #print ip 12 #print hostname 13 #print open(file1,r).readall() 14 15 name=ip+‘,+hostname+\n 16 17 18 with open(names.txt, w) as file3: 19 for i in file1 : 20 writer = file3.write(name)

运行:

python ip-hostname.py ip.txt  hostname.txt

以上是关于利用python合并两个文件的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第19篇):合并多个字典

pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”

合并两个位图的问题

一个用于合并pdf的简单Python脚本

利用Python进行数据分析-Pandas(第五部分-数据规整:聚合合并和重塑)

利用Python将多个PDF文件合并