본문 바로가기

개발일지_파이썬for금융인

일괄 파일명 변경

1. 파일명 체크 코드

import os

path = '/content/news'
files = os.listdir(path)

for file in files:
  print(file)

news 폴더의 파일들 이름을 확인한다.

이런 식으로 뜰 것.

 

2. 파일명 변경

그 중 하나만 가져와보자.

그리고 그 파일명을 name이라 하고,

name = '2023-03-23_삼성물산.xlsx'
name.split('.')

name을.쪼갠다('.'쩜을 기준으로)

쪼갠 거의 앞에 것을 바꿀 거야. 앞에서부터 0번째, 1번째. 우린 0번째 가져온다.

거기에, (뉴스)라는 글자를 붙일 거야. .xlsx까지.

그렇게 만들어지는 양식을 new_name이라 이름붙이자고.

 

 

아까 파일명 확인하는 코드 있지?

거기에 응용하자.

import os

path = '/content/news'
files = os.listdir(path)

for name in files:
  new_name = name.split('.')[0]+'(뉴스).xlsx'
  os.rename(f'/content/news/{name}', f'/content/news/{new_name}')

files에서 하나씩 꺼내서 반복하는 거야.

name을 new_name으로 바꾸는 거지.

os.rename(기존파일명, 바꿀파일명)

파일명은 경로와 같이 써주는 거야.

변수로써 들어갔으면 하니까, 경로 앞에 f 붙이고, 변수로 쓸 것에 중괄호 넣어주고.

 

실행하면,

폴더 속 파일들 이름이 바뀌어 있다.

 

----------------------------------------------------------

 

path가 정의되어 있으니

rename할 때

os.rename(path+'/'+name, path+'/'+new_name)

이런 식으로 써도 되겠다.