# Introduction
(what-is-csv-format-checker)=
## What is CSV formar checker?
CSV format checker is a command-line tool to confirm that CSV files such as time-series or vibration datasets are in a proper format for MANUFACIA. Additionally, it can manipulate the input files; inserting/modifying header line, divide input files, extract rows/columns, thinning out data or swapping rows and columns.
## Operating environment
This tool was built as a 64 bit application and **will not work on 32 bit OS**.
- Windows10 Home/Pro 64bit
## Installation and how to start
### Windows
Copy the ```xc_csv_format_checker-win32-x64-0.14.zip``` to an arbitrary directory and unzip, then start ```csv_checker.exe```.
## Deliverables
This tool package consists of following three files.
- csv_checker.exe: CSV format checker executable file
- csv_checker.ini: Initial (default) setting of CSV format checker
- header.txt: A file to define header line
### Initial setting file
- csv_checker.ini
>```csv_checker.ini``` file in the working directory should be modified to reflect the setting to run the tool. Specifying CSV file path by ```-p``` option, it will be first checked if there is ```csv_checker.ini``` in the specified directory and will be used prior to the one in the current directory if there is.
```{list-table} Default setting item table
:header-rows: 1
:widths: 1 3 1
* - Variable
- Explanation
- Default value
* - File_ write
- If the log file already exists, the tool will behave as follows by the value set for this variable.
0: Put out error in the log file and finish execution. (CSV checker will not start)
1: Overwrite existing log file.
If the value is none of the value above, default value will be taken.
- 1
* - line_num
- The number of maximum allowable CSV file lines. Without being specified, default value will be used.
- 100000
```
- header.txt
>The ```header.txt``` file in the working directory will be used to replace/add CSV header line in files. The number of columns in the ```header.txt``` should be equal to the one of data area in those files. Specifying CSV file path by ```-p``` option, it will be first checked if there is ```header.txt``` in the directory specified and will be used prior to the one in the current directory if there is.
## Limitations
- The upper limit of the CSV file lines is limited to 10,000,000.
- To divide files, the number of the maximum files is limited to 9999.
- Automatic conversion of encoding to UTF-8 will be only done if the input file is encoded in Shift-JIS.
- In data lines, there is no characters **except** the ones mentioned below.
- There is no vacant line (only carriage return without other letters).
```{admonition} Characters allowed to be used within data lines
- Numbers (0-9), comma (,), sign (+/-), floating point (.), HEX numbers (A-F)
```