【#も読】マイナポータルのCSV、読みやすいコード、Pythonの定数(@shunsock)のトップ画像

【#も読】マイナポータルのCSV、読みやすいコード、Pythonの定数(@shunsock)

投稿日時:
しゅんそくのアイコン

ファインディ株式会社 / データエンジニア

しゅんそく

Xアカウントリンク

「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?


マイナポータルのCSV

Xで、マイナポータルで出力されるCSVが、CSVと言えるのか、と話題になっていました。

たしかに、一般的なフォーマットではないので正しい形式かRFCを読んでみました。

RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files 日本語訳

確認したところ、CSV形式には正式な仕様はないとのことでした。

CSV形式にはさまざまな仕様と実装がありますが(Ex。[4]、[5]、[6]、[7])、CSVのさまざまな解釈を可能にする正式な仕様はありません。ファイル。このセクションでは、ほとんどの実装が続くと思われる形式を文書化します。

紹介されているABNFを見る限り、マイナポータルのCSVはValidでしょう。

   file = [header CRLF] record *(CRLF record) [CRLF]
        
   header = name *(COMMA name)
        
   record = field *(COMMA field)
        
   name = field
        
   field = (escaped / non-escaped)
        
   escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE
        
   non-escaped = *TEXTDATA
        
   COMMA = %x2C
        
   CR = %x0D ;as per section 6.1 of RFC 2234 [2]
   DQUOTE =  %x22 ;as per section 6.1 of RFC 2234 [2]
        
   LF = %x0A ;as per section 6.1 of RFC 2234 [2]
        
   CRLF = CR LF ;as per section 6.1 of RFC 2234 [2]
        
   TEXTDATA =  %x20-21 / %x23-2B / %x2D-7E
この記事のつづきを読もう
新規登録/ログインしたらできること
  • すべての記事を制限なく閲覧可能
  • 限定イベントに参加できます
  • GitHub連携でスキルを可視化
ログイン
アカウントをお持ちでない方はこちらから新規登録