# å°Žå…¥ (what-is-csv-format-checker)= ## CSVフォーマットãƒã‚§ãƒƒã‚«ãƒ¼ã¨ã¯ CSVフォーマットãƒã‚§ãƒƒã‚«ãƒ¼ï¼ˆä»¥é™CSVãƒã‚§ãƒƒã‚«ãƒ¼ï¼‰ã¯ã€MANUFACIAã§å¦ç¿’ã•ã›ãŸã„時系列ã€æŒ¯å‹•ãƒ‡ãƒ¼ã‚¿ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒMANUFACIAã§èªè¾¼å¯èƒ½ã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€ãれを自動修æ£ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ãƒ„ールã§ã™ã€‚ãã‚Œã«åŠ ãˆã¦ã€ã“ã®ãƒ„ールã§ã¯ãƒ˜ãƒƒãƒ€ãƒ¼è¡Œã®æŒ¿å…¥ã€ç·¨é›†ã€ãƒ‡ãƒ¼ã‚¿ã®åˆ†å‰²ã€æŠ½å‡ºã€é–“引ãã€è¡Œåˆ—ã®å…¥ã‚Œæ›¿ãˆãªã©ã®ãƒ‡ãƒ¼ã‚¿ã®ç·¨é›†ã‚‚å¯èƒ½ã§ã™ã€‚ ## 動作環境 本ツールã¯64ビットアプリケーションã§ã™ã€‚**32ビットOS上ã§ã¯å‹•ä½œã—ã¾ã›ã‚“**。 - Windows10 Home/Pro 64bit <!-- - Linux 64bit(Ubuntu 18.04 LTS上ã§å‹•ä½œç¢ºèªæ¸ˆã¿ï¼‰--> ## インストールã¨èµ·å‹•æ–¹æ³• ### Windows ユーザ任æ„ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«åœ§ç¸®ãƒ•ã‚¡ã‚¤ãƒ«`xc_csv_format_checker-win32-x64-0.14.zip` を解å‡ã—ã¾ã™ã€‚ コマンドプãƒãƒ³ãƒ—トを起動ã—ã€è§£å‡ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«ã‚ã‚‹ `csv_checker.exe` を実行ã—ã¾ã™ã€‚ <!-- ### Linux ターミナルã«ã¦ã€ãƒ›ãƒ¼ãƒ ディレクトリã«ã‚³ãƒ”ーã—ãŸåœ§ç¸®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’解å‡ã—ã¾ã™ã€‚ ``` tar -xvf xc_csv_format_checker-linux-x64-0.14.tar.gz ``` 解å‡ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª ```xc_csv_format_checker-linux-x64-0.14``` ã«ç§»å‹•ã—ã¾ã™ã€‚ ``` cd xc_csv_format_checker-linux-x64-0.14 ``` ```csv_checker``` ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ を実行ã—ã¾ã™ã€‚ ``` ./csv_checker ``` --> ## ãƒ•ã‚¡ã‚¤ãƒ«æ§‹æˆ æœ¬ãƒ„ãƒ¼ãƒ«ã®ãƒ‘ッケージã¯ä»¥ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§æ§‹æˆã•ã‚Œã¾ã™ã€‚ - csv_checker.exe: CSVãƒã‚§ãƒƒã‚«ãƒ¼æœ¬ä½“ - csv_checker.ini: CSVãƒã‚§ãƒƒã‚«ãƒ¼ã®åˆæœŸè¨å®šã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’定義ã—ãŸãƒ•ã‚¡ã‚¤ãƒ« - header.txt: コメントã®è¨å®šã€ä»»æ„ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’定義ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ« ### è¨å®šãƒ•ã‚¡ã‚¤ãƒ« - csv_checker.ini >作æ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«ã‚ã‚‹```csv_checker.ini```ã«ã€CSVãƒã‚§ãƒƒã‚«ãƒ¼ã®åˆæœŸè¨å®šå€¤ã‚„デフォルト値をè¨å®šã—ã¾ã™ã€‚```-p```オプションã«ã¦å…¥åŠ›CSVファイルã®ãƒ‘スを指定ã—ãŸå ´åˆã«ã¯ã€æœ€åˆã«ãã®ãƒ‘スã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«```csv_checker.ini```ãŒãªã„ã‹ã‚’確èªã—ã€ã‚ã‚‹å ´åˆã«ã¯ã“ã¡ã‚‰ã®è¨å®šãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚ ```{list-table} è¨å®šãƒ•ã‚¡ã‚¤ãƒ«é …目一覧 :header-rows: 1 :widths: 1 3 1 * - 変数 - 説明 - デフォルト値 * - File_ write - 出力ã™ã‚‹ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãŒäºˆã‚ディレクトリ内ã«å˜åœ¨ã™ã‚‹å ´åˆã€ä»¥ä¸‹ã®ãƒ‘ターンをé¸æŠžã™ã‚‹ã€‚<br><br>  0: エラーをãƒã‚°ã«å‡ºåŠ›ã—ã¦çµ‚了ã™ã‚‹ã€‚(CSVãƒã‚§ãƒƒã‚«ãƒ¼ã¯å®Ÿè¡Œã—ãªã„)<br>  1: データを上書ãã™ã‚‹ã€‚<br><br> 上記以外ã®è¨å®šã®å ´åˆã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒä½¿ã‚れる。 - 1 * - line_num - CSVファイルã®æœ€å¤§è¡Œæ•°ã€‚指定ãªãå ´åˆã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã€‚ - 100000 ``` - header.txt >作æ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«ã‚ã‚‹```header.txt```ã¯ã€å…¥åŠ›CSVファイルã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’書ãæ›ãˆã‚‹ãŸã‚ã®æ–‡å—列を指定ã—ã¾ã™ã€‚```header.txt```ã«è¨˜è¼‰ã™ã‚‹ã‚³ãƒ¡ãƒ³ãƒˆã®åˆ—æ•°ã¯ãƒ‡ãƒ¼ã‚¿é ˜åŸŸã®åˆ—æ•°ã¨åŒã˜ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。```-p```オプションã«ã¦å…¥åŠ›CSVファイルã®ãƒ‘スを指定ã—ãŸå ´åˆã«ã¯ã€æœ€åˆã«ãã®ãƒ‘スã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«```header.txt```ãŒãªã„ã‹ã‚’確èªã—ã€ã‚ã‚‹å ´åˆã«ã¯ã“ã¡ã‚‰ã®è¨å®šãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚ ## ä»•æ§˜åˆ¶é™ - 処ç†ãŒå¯èƒ½ãªCSVファイルã®æœ€å¤§è¡Œæ•°ã¯10,000,000è¡Œã¨ã™ã‚‹ã€‚ - ファイル分割ã¯ã€å‡¦ç†ãŒå¯èƒ½ãªæœ€å¤§ãƒ•ã‚¡ã‚¤ãƒ«æ•°ã‚’9999ã¨ã™ã‚‹ã€‚ - UTF-8エンコードã¸ã®è‡ªå‹•å¤‰æ›ã¯ã€å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ãŒShift-JISã®æ™‚ã®ã¿å¯èƒ½ã€‚ - データ行ä¸ã«ã€ä¸‹è¨˜ã®ä½¿ç”¨ã§ãã‚‹æ–‡å—**以外**ã®æ–‡å—ã¯å«ã¾ã‚Œãªã„ã‚‚ã®ã¨ã™ã‚‹ã€‚ - データ行ä¸ã«ç©ºè¡Œï¼ˆæ”¹è¡Œã®ã¿ï¼‰ã¯ãªã„ã‚‚ã®ã¨ã™ã‚‹ã€‚ ```{admonition} データ行ã«ä½¿ç”¨ã§ãã‚‹æ–‡å— - 数値 (0-9)ã€ã‚«ãƒ³ãƒž (,)ã€ç¬¦å· (+/-)ã€å°æ•°ç‚¹ (.)ã€16進数値 (A-F) ```