[파이썬] YAML 실행하기
- Language/Python
- 2020. 11. 13.
YAML 실행하기
yaml 사용
import yaml
yaml_data = """
color_def:
- &col1 "#ff0000"
- &col2 "#00ff00"
- &col3 "#0000ff"
color:
title1: *col1
title2: *col2
title3: *col3
"""
data = yaml.load(yaml_data)
print("title1 = ", data["color"]["title1"])
print("title2 = ", data["color"]["title2"])
print("title3 = ", data["color"]["title3"])
YAML 실행하기 2
# YAML 데이터를 파이썬으로 읽어오기
import yaml
#yaml 데이터 정의
yaml_data = """
date: 2020-11-13
productList:
-
id: 100
name: banana
color: yellow
price: 1000
-
id: 200
name: orange
color: orange
price: 700
-
id: 300
name: apple
color: red
price: 1200
"""
data = yaml.load(yaml_data)
#이름과 컬러를 출력 코딩하세요.
for abc in data["productList"]:
print("name = ", abc["name"]," color = ", abc["color"])
JSON 형태의 데이터를 YAML로 변형해서 실행하기
# YAML 데이터를 파이썬으로 읽어오기
import yaml
#yaml 데이터 정의
person =[
{"name":"HongGilDong", "age":"30", "gender":"man"},
{"name":"KimMiSun", "age":"25", "gender":"woman"},
{"name":"KangGilDong", "age":"40", "gender":"man"}
]
#JSON 형식을 YAML형식으로 변형 시켜준다.
yaml_data = yaml.dump(person)
print(yaml_data)
print("-------------------------------------")
#YAML 데이터를 파이썬 데이터로 변환하기
data = yaml.load(yaml_data)
for person in data:
print(person["name"])
CSV 형태의 데이터를 YAML로 변형해서 실행하기
해당 파일을 Jupiter에 넣은 후 실행을 해보았습니다.
import codecs
fileName = "prod_list.csv"
csv = codecs.open(fileName, "r", "euc_kr").read()
data = []
records = csv.split("\r\n") #\r: CR \n:LF(new line)
for rec in records:
if rec == "": continue
fields = rec.split(",")
data.append(fields)
for field in data:
print(field[1], field[2])
CSV 형태로 데이터 저장하기
# 파이썬의 csv모듈을 이용한 CSV데이터처리방법
# CSV파일에 있는 필드 데이터가 큰따옴표(")로 둘러 싸인 경우에는
# CSV파일을 분석하기가 어렵다.
# 따라서, 이때에는 csv모듈을 이용하는데
# csv파일을 읽어올때 사용하는 메소드
# csv.reader(파일포인터, delimiter="," , quotechar='"')
# 여기서, delimiter는 구분문자를 지정하고, quotechar는 어떤 기호로 데이터를
# 감싸고 있는지를 지정한다.
# csv파일을 만들때 상용하는 메소드
# csv.writer(파일포인터, delimiter=",", quotechar='"')
# csv.reader(파일포인터, delimiter=",", quotechar='"')
import csv, codecs
with codecs.open("test.csv", "w", "utf-8") as fp:
writer = csv.writer(fp, delimiter=",", quotechar='"')
writer.writerow(["상품코드", "상품이름", "가격"])
writer.writerow(["1", "KeyBoard", 20000])
writer.writerow(["2", "Mouse", 10000])
writer.writerow(["3", "Monitor", 100000])
위에 적용한 데이터를 그대로 출력하기 (응용하기)
import codecs
fileName = "test.csv"
csv = codecs.open(fileName, "r", "utf-8").read()
data = []
records = csv.split("\r\n") #\r: CR \n:LF(new line)
for rec in records:
if rec == "": continue
fields = rec.split(",")
data.append(fields)
for field in data:
print(field[0], field[1], field[2])
반응형
'Language > Python' 카테고리의 다른 글
[Python] 1장 변수 사용하기 (0) | 2023.07.24 |
---|---|
[Python] 파이썬 설치하기 (0) | 2023.07.13 |
[파이썬] json 데이터 출력하기 (0) | 2020.11.13 |
[파이썬] 네이버 api 빼오기 (0) | 2020.11.12 |
[파이썬] API 사용하기 (0) | 2020.11.12 |