こんにちわ、Python大好きオオバです。

よく使うファイルのPythonパース方法を
まとめてみたいと思います。

この記事の内容

ライブラリの準備

JSONYAMLCSVExcel
なしPyYAMLなしopenpyxl

YAML、Excelは
追加ライブラリを使ってパースします。

追加ライブラリのインストール
$ python3 -m pip install pyyaml  
$ python3 -m pip install openpyxl  

JSONパース

filename = "json.json"  
with open(filename, "r", encoding="utf-8") as f:  
    json_data = json.load(obj)  

# 要素をランダムに選ぶ
data = random.choice(json_data)  
print(data["no"], data["sakusya"])  
👉 年収UP率93.8% / 平均年収UP額126万円のエンジニア転職サイト【転職ドラフト】

YAMLのパース

# jsonをYAMLに変換
# ※先のJSONパースのjson_dataを使用
yaml_str = yaml.dump(json_data)  
yaml_data = yaml.load(yaml_str)  

print(yaml_data[0]["sakusya"])  

CSVパース

print("===== CSVのパース =====")  
filename = "csv.csv"  
csv = codecs.open(filename, "r", "utf-8").read()  

data = []  
rows = csv.split("\r\n")  
for row in rows:  
    if row == "":continue  
    cells = row.split(",")  
    data.append(cells)  

print(data[0][1], data[0][2])  

Excelパース

filename = "excel.xlsx"  
book = openpyxl.load_workbook(filename)  

# 先頭のシートを得る
sheet = book.worksheets[0]  
data = []  
for row in sheet.rows:  
    # 1行目  
    r0 = row[0].value  
    # 3行目  
    r2 = row[2].value  
    # 空セルを除く  
    if not r0 is None and not r2 is None:  
        data.append([  
            row[0].value,  
            row[2].value  
        ])  
👉 年収UP率93.8% / 平均年収UP額126万円のエンジニア転職サイト【転職ドラフト】

まとめ

よく使うファイル形式を
Pythonでパースする方法を紹介しました。

オオバの場合、
GoogleSpreadシートから
JSON、CSVを受け取って
Pythonで処理することが多いです。

パース方法を忘れた時に
見返してもらえればと思います。

サンプルコード全文

variableparser.py


Unity初心者、UIデザイナー向けの発信をTwitterをやってます!
ぜひフォローしてみてください!
👉フォローはこちら!

YouTubeも始めました!!「Unity初心者大学」
チャンネル登録お願いします!

最後まで読んでいただきありがとうございました!
すばらしいPythonパースライフをお過ごしください。

オススメ記事
検証環境