首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换python文本文件中的行

替换python文本文件中的行
EN

Stack Overflow用户
提问于 2013-04-07 06:33:57
回答 1查看 195关注 0票数 0

我想替换我文本文件中的一行,你是怎么做的?以下是文本文件:

代码语言:javascript
复制
Description,Shoe Size,Quantity
Reebok 111,11,2
Reebok 111,12,4
Reebok 111,9,10
Reebok 1301,6,4
Reebok 1301,7,4
Reebok 1301,8,4
Reebok 1301,9,4
Reebok 1301,10,40
Reebok A55,8,7
Reebok A55,9,8
Reebok A55,10,41
Asics 193ABC,10,20
Asics 193ABC,12,4
Asics 193ABC,9,10
Asics 293BC,11,2
Asics 293BC,12,42
Asics 293BC,9,100
Nike N1,6,6
Nike N1,7,4
Nike N1,8,2
Nike N1,9,4
Nike N1,10,40
Mizuno P1039,4,12
Mizuno P1039,7,9
Mizuno P1039,8,2
Mizuno P1039,19,8
Mizuno P1039,20,4

Flag for copyright

这就是我到目前为止所做的,但这只在后面增加了一行

代码语言:javascript
复制
def modifyQty(dbfilename,modelname,size,newcount):
    o=open(dbfilename,'a')
    dbfilename=open(dbfilename,'r')#opendatafile for read and reassign
    for line in dbfilename:
        values=line.split(',')#split by comma
        if values[0]==modelname and values[1]==size:
            line=line.replace(values[2],newcount)
            o.write(line+'\n')
    o.close()

modifyQty('shoes.txt','Reebok 111','11','1')

我想编辑第一行,这是锐步111,11,2到锐步111,11,1,寻找匹配的模型和大小,只改变数量。因此,所需的输出是:

代码语言:javascript
复制
Reebok 111, 11, 1

谢谢

下面是我所做的,它为shoes.txt的编辑版本创建了一个新的文本文件

代码语言:javascript
复制
def modifyQty(dbfilename,modelname,size,newcount):
    o = open(dbfilename, 'r')
    new_file = open('shoestextcopy.txt', 'w') #opens lol file
    data = o.readlines()
    for line in data:
        values = line.split(',') # split by comma
        if values[0] == modelname and values[1] == size:
            line = line.replace(values[2], newcount)
        new_file.write(line)
    o.close()
    new_file.close()
modifyQty('shoes.txt','Reebok 111','11','100000000 \n')

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2013-04-07 06:44:38

我建议打开一个新的文件来写:

代码语言:javascript
复制
def modifyQty(dbfilename,modelname,size,newcount):
    o = open(dbfilename, 'r')
    new_file = open('abc.txt', 'w')
    data = o.readlines()
    for line in data:
        values = line.split().split(',') # split by comma
        if values[0] == modelname and values[1] == size:
            line = line.replace(values[2], newcount)
        new_file.write(line + '\n')
    o.close()
    new_file.close()

modifyQty('shoes.txt','Reebok 111','11','1')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15859639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档