텍스트 파일을 판다스(pandas)를 이용하여 수정해 보겠다.
예제 목적
빨간 사각형 부분을 다른 경로로 변경하는 것이다.
내용 수정(with pandas)
1) text 파일 읽기
[ic]read_csv[/ic]를 이용하여 [ic].txt[/ic]파일을 읽을 수 있다.
import pandas
df= pd.read_csv('CupDataCoco/train.txt',names=['path'])
print(df)
이때 [ic]names[/ic]인자를 이용하면 원하는 컬럼명을 설정할 수 있다.
2) 내용 변경(replace)
각 행의 값들을 수정해줘야 한다.
이때 for loop보다 더 효율적인 방법이 [ic].apply[/ic]를 이용하는 것이다.
df['path'] = df['path'].apply(lambda x: x.replace('/home/user/Object Detection/mmdetection/CupDataYolo/valid/','/home/user/Object Detection/mmdetection/CupDataCoco/PNGImages/'))
apply 사용법은 해당문서를 참조하기 바란다.
2) text파일 재저장
변경이 완료되었으면 재저장을 해줘야 한다.
이때 [ic].to_csv[/ic]를 이용하면 손쉽게 저장할 수 있다.
df.to_csv('CupDataCoco/valid.txt', index=False, header=None)
주의할 점은 텍스트 파일로 변환하는 과정에서 DataFrame 정보들도 같이 넘어간다.
index number와 column name이 이에 해당된다.
이를 보이지 않게 하기 위해서는 [ic]index=False[/ic], [ic]header=None[/ic]을 설정해 주면 된다.
'파이썬 > pandas' 카테고리의 다른 글
[파이썬 pandas]데이터프레임 열 합치기(merge) (0) | 2023.02.20 |
---|---|
vscode 터미널에서 데이터프레임(dataframe) 예쁘게 출력하는 방법 (0) | 2023.01.26 |
[판다스 기초] 특정 열(column) 삭제 하는 방법 (0) | 2022.08.23 |
[판다스 기초] 인덱스(index) 시작 번호 지정 하는 법 (0) | 2022.08.23 |
[판다스] 엑셀(excel) sheet별 데이터 이어 붙이는 방법 (0) | 2022.08.22 |
댓글