python3 如何中将两个文件按行合并

python中将两个文件按行合并文本A.txt存有1234同时个文件B存有abcd生成文件c.txt1a2b3c4d1和a,2和b,3和c,4和d之间是一个tab隔开的形... python中将两个文件按行合并
文本A.txt存有
1
2
3
4
同时个文件B存有
a
b
c
d
生成文件c.txt
1 a
2 b
3 c
4 d

1和a ,2和 b , 3和c,4和d 之间 是 一个 tab 隔开的形式输出
展开
 我来答
永恒pascal
2017-06-18 · TA获得超过4357个赞
知道大有可为答主
回答量:3902
采纳率:93%
帮助的人:671万
展开全部

先将两个文件分别读取到两个列表中,再用循环输出到第3个文件。

f_ = open('e:/python27/a.txt','r')
n=0
list1=[]
for i in f_.readlines():
n+=1
s=i.strip()
list1.append(s)
f_.close()

ff_ = open('e:/python27/b.txt','r')
m=0
list2=[]
for i in ff_.readlines():
m+=1
s=i.strip()
list2.append(s)
ff_.close()

fff_=open('e:/python27/c.txt','w')
for i in range(n):
s=list1[i]+' '+list2[i]
fff_.write(s+'\n')
print(s)
fff_.close()
匿名用户
2017-06-20
展开全部
python test.py --input1 dat1.txt --input2 dat2.txt > 2.out.txt
复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'shengwei ma'
__author_email__ = 'shengweima@icloud.com'
import sys
import getopt

input_file1 = ""
input_file2 = ""

try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["input1=", "input2="])
except getopt.GetoptError as err:
print(str(err))
for op, value in opts:
if op == "--input1":
input_file1 = value
elif op == "--input2":
input_file2 = value
elif op == "-h":
print("python get_value_according_first_column.py --input1 dat1 --input2 dat2 > out.txt")
sys.exit()
# 以上可忽略,定义shell中接受的参数及数据

f1 = open(input_file1, 'r')
f2 = open(input_file2, 'r')
lines1 = f1.readlines() # 将整个文件读作一个列表,可以添加 print lines1 查看,这里一行表示里边的一个元素(字符串),如lines1[0],则表示第一行
lines2 = f2.readlines() # 将整个文件读作一个列表,可以添加 print lines2 查看,第一行第一列,lines2[0][0]
for line1 in lines1: # 遍历列表lines1中的每个元素,及遍历读取文件1的每一行
line1 = line1.strip().split() # 这里的一行就是一个字符串,使用字符串的strip方法,去掉行尾换行符,使用split分割字符串成列表
for line2 in lines2:
line2 = line2.strip().split() # 同样 遍历文件2中每一行
if line1[0] in line2: # line1[0] (注意是line 不是lines) 表示某一行的第一列,即查询某行第一列是否在文件2中,如果在
line1.extend(line2[1:]) # 在的话,则将 文件2中的第二列以后的部分添加到第一行的后边
print ' '.join(line1) # 将列表 line1 转换成字符串打印
f1.close() # 关闭文件
f2.close() # 关闭文件
复制代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式