[파이썬] YAML 실행하기

반응형

 

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로 변형해서 실행하기

prod_list.csv
0.00MB

해당 파일을 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

댓글

Designed by JB FACTORY