シェルを使用して CSV ファイルを処理する場合、次のコマンドとテクニックを使用して一般的な操作を実行できます。
- CSV ファイルの読み取り: CSV ファイルの内容を読み取るには、
cat
リダイレクト記号 (>
、>>
) またはパイプ ( ) を含むコマンドを使用します。|
cat file.csv # 查看CSV文件的内容
- 特定の列を抽出:
cut
CSV ファイル内の特定の列を抽出するには、コマンドを使用します。
cut -d ',' -f 1,3 file.csv # 提取第1列和第3列的数据(以逗号作为字段分隔符)
- 行のフィルター:
grep
コマンドを使用して、特定の条件に基づいて CSV ファイル内の行をフィルターします。
grep "keyword" file.csv # 提取包含指定关键字的行
- データの並べ替え:
sort
コマンドを使用して、CSV ファイル内のデータを並べ替えます。
sort -k 2n file.csv # 按第2列进行数值排序
- 統計計算:
awk
コマンドを使用してデータの統計計算を行うことができます。
awk -F ',' '{sum += $3} END {print sum}' file.csv # 计算第3列数据的总和
- CSV ファイルを変更する: リダイレクト記号 (
>
、>>
) を使用して、処理結果を新しいファイルに出力するか、元のファイルを上書きします。
grep "keyword" file.csv > filtered_file.csv # 将包含指定关键字的行写入新文件
現在の CSV ファイルの文字エンコード形式を表示するために一般的に使用されるいくつかの方法を以下に示します。
-
テキスト エディターを使用する: CSV ファイルを開き、テキスト エディター (Notepad++、Sublime Text、Visual Studio Code など) を使用して、ファイルの文字エンコード形式を表示します。現在のエンコーディングの表示は通常、エディターの下部のステータス バーまたは設定に表示されます。
-
コマンド ライン ツールの使用: コマンド ラインで、
file
コマンドを使用してファイルの種類とエンコーディングを検出できます。ファイルのエンコード形式を表示するには、次のコマンドを使用します。
file -i file.csv
このコマンドは、ファイルの MIME タイプとエンコード情報を出力します。
- サードパーティ ツールを使用する: など、利用可能なサードパーティ ツールもいくつかあります
enca
。chardet
これらのツールは、ファイルの文字エンコード形式を自動的に検出できます。
enca -L none file.csv # 使用enca工具检测文件的字符编码
chardet file.csv # 使用chardet工具检测文件的字符编码
上記の方法は、特にファイルに明確なエンコード識別がない場合、完全に正確ではないことに注意してください。したがって、CSV ファイルが異なるツールや方法で異なるエンコード形式で表示されることがわかった場合は、さらに分析と判断を行うか、別のエンコード変換方法を試してみる必要がある可能性があります。
CSV ファイルを UTF-8 エンコードから別のエンコードに、またはその逆に変換する例を次に示します。
iconv -f UTF-8 -t GBK file.csv > converted_file.csv
iconv -f UTF-8 -t UTF-16 file.csv > converted_file.csv
iconv -f UTF-8 -t ASCII file.csv > converted_file.csv