○ 입력 파일
일정하지 않은 스페이스로 구분된 데이터 파일은 엑셀파일에서 불러와도 파일을 셀로 분할하기가 쉽지 않습니다.
엑셀에서 열어보아도 잘 열리지 않고, 스페이스도 일정하지 않아서 데이터 나누기가 안됩니다.
수동으로 일일이 해야 하는데.... 이건 정말 쉽지 않아요 ^^;;
이렇때 아래 파이썬 코드를 이용하면 쉽게 분할하여 엑셀에서 사용할 수 있다.
○ 프로그램 코드
#!/usr/bin/env python
# -*- coding: utf8 -*-
import os
#--------------------------
# File Parsing
#--------------------------
def file_parser(input_filename):
## 출력파일 = 입력파일_out.csv
src_name = os.path.splitext(input_filename)[0]
src_ext = os.path.splitext(input_filename)[-1]
output_filename = src_name+"_out.csv"
with open(input_filename, 'r', encoding='utf-8') as ro, open(output_filename, 'w', encoding='utf-8') as rw:
line_cnt=0
for line in ro.readlines():
line_cnt +=1
# 공백으로 분할
ls = line.strip().split()
# ','를 구분자로 합치기
str_line=(',').join(ls)
# 줄바꿈
str_line='{0}\n'.format(str_line)
# 화면출력
print(str_line)
#파일 저장
rw.write(str_line)
#--------------------------
# Main
#--------------------------
if __name__ == "__main__":
file_parser("E:\\Work\\parsing_test.csv")
○ 실행창 확인
- 프로그램 실행시 print( str_line) 함수에 의해서 화면에 찍힌 내용이 원하던 결과임을 확인할 수 있습니다.
○ 결과파일 확인
-parsing_test_out.txt 파일을 열어보면 일정하지 않은 스페이스로 된 데이터 파일이 아래와 같이 콤마(',') 분리자를 이용하여 잘 분리된 것을 확인할 수 있습니다.
csv파일을 엑셀에서 열어보면...이렇게 잘 됩니다.
'공학속으로 > python' 카테고리의 다른 글
[python] csv 파일 mysql db 넣기 (0) | 2022.04.25 |
---|---|
[python] UTC를 KST(한국시간)로 변경하기 (0) | 2022.04.20 |
[python] Visual Studio Code의 단축키 (0) | 2021.01.14 |
[Python] 특정 시간마다 메시지 반복 출력하기(타이머) (1) | 2021.01.14 |
[python] ipython 파일인 ipynb을 py로 바꾸는 법 (0) | 2021.01.13 |
댓글