python中将两个文件合并

有a.txt和b.txt,现在要求在c.txt中每输入一行a.txt后面输入10行b.txt.求大神指导。... 有a.txt和b.txt,现在要求在c.txt中每输入一行a.txt后面输入10行b.txt.

求大神指导。
展开
 我来答
曹晓山11
推荐于2016-06-19 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52066
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

Python编程将两个文件合并,代码如下:

//例子:合并a.txt和b.txt文件
def readf(filename):
    lines = file(filename).readlines()
    dic = {}
    for i in lines:
        i_ = i.split()
        dic[i_[0]] = int(i_[1])
    return dic

dica = readf('a.txt')
dicb = readf('b.txt')

lines = []
for i in dica:
    percent = str(float(dicb[i])*100/dica[i])+'%'
    s = ' '.join([i, str(dica[i]), str(dicb[i]), percent])
    s += '\n'
    lines.append(s)
//合并成c.txt 
with open('c.txt', 'w') as f:
    f.writelines(lines)
    f.close()
玩转数据处理
2014-06-10 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
import os
a = []
b = []

for lineA in open('a.txt','r'):
a.append(lineA)
for lineB in open('b.txt','r'):
b.append(lineB)

c = open('c.txt','w+')
for line in a:
c.write(line)
for i in range(0,10):
if len(b)>0:
c.write(b[0])
del(b[0])
c.close()
a.close()
b.close()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yycgis
2014-06-10 · TA获得超过8267个赞
知道大有可为答主
回答量:6831
采纳率:63%
帮助的人:1580万
展开全部

你好:

其实这个问题不是很难啊:

请看代码:

txtpath1=r"a.txt"
txtpath2=r"b.txt"
txtpath3=r"c.txt"

fpa=open(txtpath1)
fpb=open(txtpath2)
fpc=open(txtpath3,"w")

arrB=[]
for lineb in fpb.readlines():
    arrB.append(lineb)

index=0
for linea in fpa.readlines():
    index=index+1
    fpc.write(linea)
    for i in range((index-1)*10,(index)*10):
        try:
           fpc.write(arrB[i])
        except:
            pass
print "Done!"
fpa.close()
fpb.close()
fpc.close()
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式