VSCodeでCSVファイルを編集する方法について

採用はこちら

VSCode(Visual Studio Code)では、CSVファイルを通常のテキストファイルとして直接編集できます。

さらに、CSV向けの拡張機能を導入すれば、列を色分けして見やすくしたり、Excelのような表形式で編集したりすることも可能です。

数行程度の簡単な修正であればVSCodeの標準機能だけで十分ですが、列数や行数が多いCSVを扱う場合は、CSV向けの拡張機能を利用すると作業効率を高められます。

ここでは、VSCodeでCSVファイルを編集する基本的な方法から、おすすめの拡張機能、文字コードやCSV特有の注意点まで詳しく解説します。

目次

VSCodeではCSVファイルをそのまま編集できる

CSVは、基本的にテキスト形式でデータを保存するファイルです。

一般的には、次のようにカンマで項目を区切ってデータを記録します。

id,name,age,email
1,Tanaka,28,tanaka@example.com
2,Suzuki,35,suzuki@example.com
3,Sato,42,sato@example.com

VSCodeでは、CSVファイルを特別な形式へ変換する必要はありません。

通常のテキストファイルと同じように開いて、そのまま内容を編集できます。

CSVファイルをVSCodeで開く

CSVファイルをVSCodeで開くには、次のような方法があります。

  1. VSCodeを起動する
  2. 「ファイル」から「フォルダーを開く」を選択する
  3. CSVファイルが保存されているフォルダーを開く
  4. 左側のエクスプローラーから.csvファイルをクリックする

たとえば、

users.csv

というファイルをクリックすると、CSVの内容がテキストとして表示されます。

WindowsのエクスプローラーやmacOSのFinderから、CSVファイルをVSCodeへドラッグ&ドロップして開くことも可能です。

CSVの内容を直接編集する

CSVファイルを開いたら、通常のテキストと同じように内容を変更できます。

たとえば、

1,Tanaka,28,tanaka@example.com

という行を、

1,Tanaka,29,tanaka@example.com

へ変更できます。

編集後は、WindowsやLinuxではCtrl + S、macOSではCmd + Sで保存します。

VSCodeの標準機能を使ってCSVを編集する方法

簡単なCSVであれば、拡張機能を追加しなくても十分に編集できます。

VSCodeには、CSV編集にも役立つ検索や置換、マルチカーソルなどの機能が用意されています。

検索機能を使う

WindowsやLinuxでは、

Ctrl + F

を押すと、ファイル内の文字列を検索できます。

CSVの中から特定の商品名やユーザー名、メールアドレスなどを探したい場合に便利です。

一括置換を使う

WindowsやLinuxでは、

Ctrl + H

を押すことで、検索した文字列を別の文字列へ一括置換できます。

たとえば、CSV内の、

Tokyo

をすべて、

Osaka

へ変更するといった操作が可能です。

ただし、CSV全体へ一括置換を行う場合は、意図していないセルまで変更してしまわないよう注意が必要です。

マルチカーソルを使う

VSCodeには、複数箇所を同時に編集できるマルチカーソル機能があります。

WindowsやLinuxではAltキー、macOSではOptionキーを押しながらクリックすると、複数の位置へカーソルを配置できます。

同じ列の複数行をまとめて修正したい場合などに便利です。

正規表現を使って検索・置換する

VSCodeの検索・置換機能では、正規表現も利用できます。

正規表現を使えば、

  • 特定の形式の文字列だけを検索する
  • 行頭や行末の文字をまとめて変更する
  • 不要な空白を削除する

といった高度な処理も可能です。

ただし、CSVにはカンマやダブルクォーテーション、セル内改行などが含まれることがあります。

複雑なCSVへ正規表現で一括変更を行うと、CSVの構造を壊してしまう可能性があるため注意しましょう。

CSVを見やすくするならRainbow CSVが便利

CSVをテキスト形式のまま編集したい場合には、「Rainbow CSV」という拡張機能が便利です。

Rainbow CSVを使用すると、CSVの各列を異なる色で表示できます。

たとえば、

1,Tanaka,Tokyo,28
2,Suzuki,Osaka,35
3,Sato,Fukuoka,42

のようなCSVを開いた場合、それぞれの列が色分けされるため、どの値がどの列に属しているのか判断しやすくなります。

Rainbow CSVでできること

Rainbow CSVには、主に次のような機能があります。

  • CSVの列を色分けして表示する
  • TSVなどの区切りテキスト形式を扱う
  • RBQLを使ってCSVを検索・抽出・変換する
  • CSVの構造をチェックする
  • 列を整列して見やすくする

CSVを頻繁に確認する場合には便利な拡張機能です。

CSVLintではCSVの構造を確認できる

Rainbow CSVには、CSVの構造を確認するためのCSVLint機能があります。

たとえば、

  • 行ごとのフィールド数が揃っているか
  • ダブルクォーテーションの使い方に問題がないか

といったCSVの構造上の問題を確認できます。

ただし、CSVLintはデータ内容そのものの正しさを保証する機能ではありません。

たとえば、メールアドレスが実在するか、数値が正しい範囲かといった内容までは確認できないため注意しましょう。

CSVを表形式で編集する方法

CSVを頻繁に編集する場合や、列数が多くテキスト表示では扱いにくい場合は、表形式で編集できる拡張機能を利用すると便利です。

CSV用のグリッドエディターを利用すると、スプレッドシートのような画面でCSVを編集できます。

セル単位でCSVを編集できる

グリッド形式のCSVエディターでは、次のような表としてCSVを表示できます。

idnameage
1Tanaka28
2Suzuki35

編集したいセルをクリックして、

28

を、

29

へ変更するなど、セル単位で編集できます。

テキスト形式でカンマの位置を意識しながら編集する必要がないため、入力ミスを減らしやすいのがメリットです。

「CSV」拡張機能を利用する

VSCode Marketplaceには、「CSV」という名前のグリッド型拡張機能があります。

このような拡張機能を利用すると、

  • セルの直接編集
  • 列幅の調整
  • ヘッダーの固定
  • キーボードによるセル移動

などが可能になります。

Excelそのものと同じ機能を利用できるわけではありませんが、スプレッドシートに近い感覚でCSVを編集できます。

Edit CSVを利用する

「Edit CSV」も、CSVを表形式で編集するための代表的な拡張機能の一つです。

インストールすると、

Edit as csv

などのコマンドからCSVをグリッド形式で開けます。

セルを直接編集できるため、CSVを手作業で修正する場合に便利です。

ただし、CSVエディターを開いた状態で元のCSVファイルを別のエディターから変更しても、その変更がグリッド画面へ自動的に反映されない場合があります。

同じCSVを複数の編集画面から同時に変更しないよう注意しましょう。

CSVを編集するときはカンマに注意する

CSVをテキスト形式で直接編集するときに、特に注意したいのがカンマです。

CSVでは通常、カンマが列の区切りとして使用されます。

たとえば、

Tanaka,Tokyo,Engineer

というデータは、

Tanaka
Tokyo
Engineer

という3つのフィールドとして扱われます。

セル内にカンマを入れる場合

セルの値そのものにカンマを含める場合は、一般的にそのフィールドをダブルクォーテーションで囲みます。

たとえば、

Tokyo, Japan

という値を保存する場合は、

name,address
Tanaka,"Tokyo, Japan"

のように記述します。

次のように書いてしまうと、

Tanaka,Tokyo, Japan

「Tanaka」「Tokyo」「Japan」という3列として解釈される可能性があります。

ダブルクォーテーションを含むCSVにも注意する

CSVの値としてダブルクォーテーション自体を含めたい場合は、一般的にダブルクォーテーションを2つ重ねて記述します。

たとえば、

He said "Hello"

という値であれば、

"He said ""Hello"""

のように記述します。

CSVをテキスト形式で手作業する場合は、

  • カンマ
  • ダブルクォーテーション
  • 改行

の扱いに特に注意する必要があります。

セル内改行を含むCSVもある

CSVでは、ダブルクォーテーションで囲まれたフィールド内に改行を含める場合があります。

たとえば、次のようなCSVです。

id,name,note
1,Tanaka,"First line
Second line"

この場合、テキストエディター上では複数行に見えていても、CSVとしては1つのレコードに含まれています。

そのため、

「テキスト上の1行=CSVの1レコード」

とは限りません。

複雑なCSVを検索・置換やスクリプトで処理する場合には注意が必要です。

Rainbow CSVでも複数行フィールドには注意する

Rainbow CSVは一般的なCSVの表示には便利ですが、複数行フィールドを含むCSVでは通常の表示方法に制約が生じることがあります。

複雑なCSVを扱う場合は、拡張機能がその形式に対応しているか確認してから使用すると安心です。

CSV以外の区切りテキスト形式もある

CSVに似た形式として、TSVがあります。

TSVは「Tab-Separated Values」の略で、カンマではなくタブ文字で項目を区切ります。

たとえば、次のような形式です。

id	name	age
1	Tanaka	28
2	Suzuki	35

そのほかにも、

;

で区切るセミコロン区切りや、

|

で区切るパイプ区切りがあります。

Rainbow CSVなどの拡張機能では、CSVだけでなく、このような区切りテキスト形式にも対応しています。

CSVが文字化けするときの対処法

日本語を含むCSVでは、文字コードの違いによって文字化けが発生することがあります。

代表的な文字コードには、

  • UTF-8
  • UTF-8 with BOM
  • Shift_JIS
  • CP932

などがあります。

VSCodeで文字コードを変更して開く

VSCodeでは、ステータスバーに現在の文字コードが表示されます。

たとえば、

UTF-8

と表示されている部分をクリックすると、

Reopen with Encoding
Save with Encoding

などの操作を選択できます。

Shift_JISやCP932などで保存されているCSVをUTF-8として開いた場合、日本語が文字化けすることがあります。

その場合は「Reopen with Encoding」から適切な文字コードを指定して開き直します。

文字化けした状態で上書きしない

CSVが文字化けしている状態でそのまま保存すると、元のデータまで壊してしまう可能性があります。

文字コードが分からないCSVを扱う場合は、元ファイルのバックアップを作成してから編集すると安全です。

ExcelとVSCodeを併用するときの注意点

VSCodeでCSVを編集し、その後Excelで開く場合は文字コードに注意する必要があります。

UTF-8やUTF-8 with BOMなど、CSVの文字コードによってExcel側の表示が変わる場合があります。

ただし、Excelの挙動はOSやExcelのバージョン、CSVの開き方などによって異なります。

そのため、

VSCode
↓
Excel
↓
業務システム

のように複数のソフトウェア間でCSVを利用する場合は、最終的に利用するシステムが要求している文字コードを確認しておくことが重要です。

CSVの列がずれて見える場合

VSCodeでCSVをテキスト表示すると、文字数の違いによって列が揃って見えない場合があります。

たとえば、

1,Tanaka,Tokyo,28
2,Suzuki,Osaka,35
3,Sato,Fukuoka,42

というCSVは、それぞれの文字数が異なるため、表のようには整列しません。

このような場合は、

  • Rainbow CSVで列を色分けする
  • グリッド型のCSVエディターを使う

といった方法が便利です。

CSVの内容を確認するだけならRainbow CSV、セル単位で編集したい場合はグリッド型エディターが向いています。

大容量CSVをVSCodeで編集するときの注意点

行数やファイルサイズが大きなCSVでは、VSCodeや拡張機能の動作が重くなる場合があります。

特に、CSV全体をグリッド形式で読み込むタイプの拡張機能は、メモリ使用量が増えやすくなります。

「何MB以上なら重い」と一律に判断することはできません。

CSVの行数や列数、PCのメモリ容量、使用する拡張機能などによって動作は変わります。

大量のCSVはプログラムで処理する方法もある

大量の行を同じルールで変更する場合は、手作業で編集するよりも、

  • Python
  • PowerShell
  • Node.js
  • SQL

などを使ったほうが効率的です。

たとえばPythonのpandasを使用すると、CSVをまとめて加工できます。

import pandas as pd

df = pd.read_csv("users.csv")

df["age"] = df["age"] + 1

df.to_csv("users_updated.csv", index=False)

この例では、age列の数値を1ずつ増やして別のCSVへ保存しています。

なお、pandasはVSCodeの標準機能ではないため、利用する場合は事前にインストールが必要です。

たとえば、

pip install pandas

などで導入できます。

また、CSVの文字コードや区切り文字によっては、read_csv()でencodingやsepなどのオプション指定が必要になる場合があります。

VSCodeでCSVを編集するときのおすすめの使い分け

CSVの編集方法は、作業内容に応じて使い分けるのがおすすめです。

数行だけ修正する場合

簡単な修正であれば、VSCodeの標準テキストエディターで十分です。

ファイルを開いて直接編集し、そのまま保存できます。

CSVの列を見やすくしたい場合

CSVをテキスト形式のまま確認したい場合は、Rainbow CSVが便利です。

列ごとに色分けされるため、データの対応関係を確認しやすくなります。

Excelのような表形式で編集したい場合

セル単位でCSVを編集したい場合は、CSV用のグリッドエディターが適しています。

カンマの位置を気にせず操作できるため、手作業による入力ミスを減らしやすくなります。

大量のデータを一括変更したい場合

大量のレコードを同じルールで変更する場合は、VSCode上で手作業するよりもPythonやPowerShellなどを使用したほうが効率的です。

VSCodeには統合ターミナルがあるため、CSVを確認しながらスクリプトを実行することもできます。

VSCodeなら用途に合わせてCSVを効率的に編集できる

VSCodeでは、CSVファイルを通常のテキストファイルとして簡単に編集できます。

数行程度の修正であればVSCodeの標準機能だけで十分ですが、CSVの列を見やすくしたい場合にはRainbow CSV、表形式で編集したい場合にはグリッド型のCSV拡張機能を利用すると便利です。

一方で、CSVにはカンマ、ダブルクォーテーション、セル内改行といった独自のルールがあります。

日本語CSVの場合は、UTF-8やShift_JIS、CP932などの文字コードにも注意が必要です。

また、大量のデータを一括変更する場合は、手作業ではなくPythonなどのプログラムを活用したほうが安全かつ効率的です。

CSVの規模や編集内容に応じて、テキスト編集、表形式編集、スクリプト処理を使い分けることで、VSCodeでもCSVを効率よく扱えるようになります。

以上、VSCodeでCSVファイルを編集する方法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次