TXT 파일을 CSV로 변환하기
Python을 활용한 재미난 것들 #3
txt 파일을 csv 파일로 파싱하기
TXT 파일이 특정 조건에 맞춰 기록이 되어 있는 상태다. 이를 쉽게 편집하기 위해서 csv 파일로 저장하는 예제이다.
#-*-coding:utf-8
import sys, io, os
import pandas as pd
# output 값이 한글인 경우, encoding을 위한 설정
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
# 아래 폴더에 대상 파일이 있다고 가정
os.chdir("D:/python")
file = open('origin.txt', mode='rt', encoding='utf-8')
data = file.readlines()
# 행 기준이 | 으로 나뉜다고 가정
fLabel = data[0].split('|')
fList = []
for i in range(1,len(data)):
# 열 기준이 \ 으로 나뉜다고 가정
fList.append(tuple(data[i].split('\')))
df = pd.DataFrame.from_records(fList, columns=fLabel)
# encoding을 utf-8 으로 하니 오류가 발생했다. window 기본 인코딩으로 변경하니 정상!
df.to_csv('converted.csv', encoding='ms949', index=True)
- encoding은 UTF-8 으로 통일했는데, CSV 파일에서 깨져보이는 현상이 발생했다. 구글링 결과로 ms949로 변경하니 정상이다.
- Pandas는 갓갓. 대충 이런 기능 있지 않을까 검색하면 모두 지원하고 있다!!