내 텍스트 파일의 특정 줄을 바꾸려고합니다. 어떻게합니까? 이것은 내가 지금까지 한 일이다파이썬 텍스트 파일의 줄 바꾸기
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
그러나 이것은 단지 내가 리복 (111) 첫 번째 라인을 편집 할 다시
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')
에 줄을 추가 : 다음은 텍스트 파일입니다 , 11, 2를 Reebok 111, 11, 1에 넣고 일치하는 모델과 크기를 찾고 수량 만 변경합니다. 여기
내가 무슨 짓을
Reebok 111, 11, 1
감사
과는 shoes.txt의 편집 된 버전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')
감사에 대한 새 텍스트 파일을 만듭니다 : 그래서 원하는 출력은 모든 도움을 받으려면
문제가 해결되지 않는 이유는 무엇입니까? – Antimony
우선, 쉼표로만 구분됩니다. 반면 모델은 공백으로 숫자와 구분됩니다. 먼저 고쳐 줘. 인쇄물 (값)을 먼저 시도해 실제로 거기에 무엇이 있는지보십시오. 그럼 거기에서 진행하는 것이 더 쉽습니다. – kramer65
그것은 단지 텍스트 파일의 끝에 라인을 추가합니다 :(아, 그리고 모델 이름 Reebok 111 Reebok가 아니라 – user2253899