# å°Žå…¥

(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)
```