[Education]/[Python] 파이썬을 이용한 자동화 스크립트

[Python] 18. 파이썬 CSV 파일 다루기 - XML, HTML, JSON, YAML, 엑셀파일과의 차이점

starterr 2024. 12. 6. 09:30

1. 구조화된 텍스트 파일

 

1) 프로그램에서 데이터를 저장할 때나, 다른 프로그램으로 보낼 때 사용

- 탭(‘\t’), 콤마(‘,’), 수직 바(‘ | ‘)와 같은 문자를 구분자(separate, delimeter)로 사용
- 태그를 ‘ < ‘ 와 ‘ > ‘ 로 둘러싼다. – XML 과 HTML 이 있다.
- 구두점을 사용한다. – JSON
- 들여쓰기를 사용한다. – YAML (YAML Ain’t ML)

- 기타 프로그램 설정 파일 같은 형식이 있다.

 

구조화된 텍스트 파일
구조화된 텍스트 파일

 

2. CSV 파일

1) 구분된 (delimited file)은 스프레드 시트나 데이터베이스의 데이터 교환 형식

- CSV (Comma Separated Value)
- 콤마로 구분된 데이터를 라인단위로 읽어 리스트나 딕셔너리 같은 자료구조에 넣는다.
- 파일의 운영체제에 따른 줄바꿈 문자
> 리눅스/맥 : \n
> 윈도우즈 : \r\n
- 컬럼 이름이 첫 번째 라인에 올 수 있다.

 

 

2) 엑셀과 CSV의 차이점

- 값의 데이터 타입이 없다 – 모든 값은 문자열
- 각 셀의 폰트나 컬러가 없다.
- 워크시트가 없다 (하나의 워크시트만 존재)
- 셀의 높이나 너비가 없다. 셀 병합도 없다.
- 이미지나 차트를 포함할 수 없다.

 

 

3) 파이썬에서 CSV 다루는 방식

- CSV 파일을 읽어서 리스트나 딕셔너리 데이터 구조로 저장하여 처리
- 리스트나 딕셔너리 데이터 구조를 CSV 파일로 저장

 

 

4) 리스트 <---> CSV
- 파이썬 리스트의 내용을 CSV 파일에 쓰기
- CSV 파일의 내용을 읽어 파이썬 리스트로 저장하기

 

 

5) 딕셔너리 <----> CSV
- 파일썬 딕셔너리의 내용을 읽어 CSV 파일에 쓰기
- CSV 파일의 내용을 읽어 파이썬 딕셔너리로 저장하기

 

 

6) CSV 파일 -> 리스트로 로딩하기

CSV 파일 -&gt; 리스트로 로딩하기
CSV 파일 -> 리스트로 로딩하기

- csv 모듈을 사용하기 위해 import csv

- 출력을 보기 좋게 하기 위해 pprint 모듈 사용

 

 

7) 리스트 -> CSV 파일 (line by line)

리스트 -&gt; CSV 파일 (line by line)
리스트 -> CSV 파일 (line by line)

 

 

8) CSV 파일 -> 딕셔너리로 로딩

CSV 파일 -&gt; 딕셔너리로 로딩
CSV 파일 -> 딕셔너리로 로딩

 

- OrderedDict 타입으로 딕셔너리 생성


> OrderedDict([('park.key', 'ALB01'), ···, ('state', 'NY') , ('country', 'US')])
cf) {'park.key’: 'ALB01', ···, 'state’: 'NY', 'country’: 'US'}

 

 

9) CSV 파일 -> CSV 파일 저장

- 딕셔너리 구조에 따라 적절히 처리

 

반응형

[금융보안] 디지털 금융보안 이슈 - 데이터 경제, 데이터 3법, Mydata, 금융빅데이터, 비식별 조치 프로세스, K-익명성 모델, KIT 개념

 

[금융보안] 디지털 금융보안 이슈 - 데이터 경제, 데이터 3법, Mydata, 금융빅데이터, 비식별 조치

A. 데이터 경제 시대의 디지털 금융서비스와 보안1. 데이터 경제와 디지털 금융서비스1-1. 데이터 3 법 (개정)2020년 1월 개정된 데이터 3 법이 8월 5일 시행데이터 3 법은 개인정보 보호법, 정보 통신

infoofit.tistory.com

 

[PMP] ISO 21500 (프로젝트 관리 표준) - 주요 요소, 목표, 적용 범위, PMBOK Guide와의 차이점

 

[PMP] ISO 21500 (프로젝트 관리 표준) - 주요 요소, 목표, 적용 범위, PMBOK Guide와의 차이점

ISO 21500 (프로젝트관리 표준) ISO 21500은 프로젝트 관리에 대한 국제 표준으로, 프로젝트 관리의 기본 원칙과 지침을 제공합니다. 이 표준은 모든 유형의 프로젝트에 적용될 수 있으며, 특히 조직

infoofit.tistory.com

 

[CCNA] STP(Spanning Tree Protocol) - 개념, 동작원리, 버전, 검증, Portfast, BPDU guard, Root guard

 

[CCNA] STP(Spanning Tree Protocol) - 개념, 동작원리, 버전, 검증, Portfast, BPDU guard, Root guard

A. Spanning Tree Protocol 개념1. 개요제2계층 네트워크 전반에 걸쳐 루프를 방지하는 기술이다.3 계층은 IP 헤더에 TTL 값으로 인해 루프방지가 된다. TTL은 패킷이 라우터를 통과할 때마다 TTL 값을 1씩

infoofit.tistory.com

 

 

반응형