Skip to content

よく使うデータ形式#

csv#

csv.reader()#

  • csv.reader() でファイルを読み込む
  • 引数で delimiter='\t'のように任意の区切り文字を指定可能
import csv

with open('sample.csv', 'r', encoding='utf-8', newline='') as f:
    csv_file = csv.reader(f)

Tip

Windows では 改行コードが '\r\n' のため open 関数に newline=''`と記述して意図しない改行を予防しておくこと。

  • 読み込んだファイルはfor 文で 行ごとにリストで形式で取得可能
for row in csv_file:
    print(row)

csv.DictReader()#

  • csv ファイルを辞書型で読み込むにはcsv.DictReader()を用いる
  • デフォルトでヘッダーである 1行目(見出し行)の値が辞書のキーとなる
import csv

with open('sample.csv', 'r', encoding='utf-8', newline='') as f:
    csv_file = csv.DictReader(f)

1行目にヘッダー(見出し行)がない場合は引数に`fieldnames'を指定

csv_file = csv.DictReader(f, fieldnames=['A', 'B', 'C'], )

JSON#

json.load()#

  • json.load()にてJSONファイルを辞書型として読み込む
import json

with open('sample.json','r',encoding='utf-8') as j_file:
    json_load = json.load(j_file)

json.dump#

  • json.dunmp()にて辞書をJSONファイルとして保存する
import json

data ={"key":"value"}

with open('sample.json','w',encoding='utf-8') as j_file:
    json.dump(data, j_file, indent=4)

YAML#

  • PyYAML をインストール
pip install pyyaml
  • yaml ファイルを辞書形式で読み込むには yaml.safe_load()
import yaml


with open('testbed_topology.yaml', 'r', encoding='utf-8') as f:
    topology = yaml.safe_load(f)
  • yaml ファイルに書き込むには yaml.dump() で引数にファイルオブジェクトを指定
dict_data = { 'R1': 'Cisco', 'address': 100, 'parameter': [1, 2, 3] }

with open('router.yaml', 'w', encoding='utf-8') as yaml_file:
    yaml.dump(dict_data, yaml_file)

参考#