GOLD PLAN加入企業が100件を突破しました!

複数のCSVファイルを1つに連結するWebシステム

CSVをテキストエディタで開いた画面
この記事は約5分で読めます。

CSVとは

CSVは日本語で「カンマ区切り」と呼ばれる形式のテキストファイルです。各データ項目(フィールド)を,(カンマ)で区切り、1レコードを改行で区切るシンプルなファイルです。実際に書くとしたのようになります▽

名前,性別,年齢
上田,男,34
武田,女,30
橋本,男,23

列方向も注目です。各行の1項目目には「名前」が来なければいけません。同様に2項目目は「性別」3項目目には年齢が入ります。縦列にきちんと整列されてなければ正しくデータを表現できません。

エクセルなどの表計算ソフトでそのまま開くこともできます。CSVは何らかのシステムのデータを吐き出すのによく使われます。逆に、新規のシステムにデータを取り込むためにも使ったりしますね。ようは「システム同士の粘着シール」みたいな役割を持っています。

複数のCSVファイルを1つにまとめたい

CSVファイルはただのテキストファイルです。複数のCSVファイルを1つにまとめたい場合、AからBへ末尾や先頭にデータをコピペするだけで完結です。1点だけ注意するとすれば、名前,性別 のような項目見出し行は除外する必要があるということでしょう。

たったこれだけのことでも、面倒だと思います。そこで調べてみると、簡単にCSVを1つにまとめる手順を紹介しているサイトをたくさん見かけます。しかしその多くは「コマンドプロンプト」や「パワーシェル」など、いわゆる「黒いあいつ」を使った手順によるものばかりでした。例えば「CSV 連結」で検索したときに出てくる上位3位は以下の通り

真っ黒い画面は使いたくないし、そもそもフィールド名が一致しない場合、前述の通りCSVは正しいデータを表せないので、破綻します。

パンがないならケーキを作ればいいじゃない。

色々探しても理想的なものに出会えないので、面倒ですが作りました。複数のCSVファイルを1つのCSVファイルに連結します。

必要なスキルは「マウスのドラッグ」だけです。所定のエリアにCSVファイルを複数ドラッグしてください。あとは「ダウンロード」ボタンを押すだけで、ドラッグされたCSVの中身を連結したCSVファイルがダウンロードされます。めちゃ簡単

フィールドの並びを考慮する必要は無し

複数のCSVファイルについて、各CSVファイルのフィールドの並び順は関係ありません。例えば

A.csvの中身

名前,性別,年齢
上田,男,34

B.csvの中身

性別,年齢,名前
女,22,れいこさん

のようなデータの場合、

名前,性別,年齢
上田,男,34
れいこさん,女,22

という結果のCSVファイルが吐き出されます。なお、フィールドの並びは「名前順」です。

一方にしか存在しないフィールド名の場合

例えばA.csvが

名前,性別,年齢,住所
上田,男,34,栃木

B.csvが

 

性別,年齢,名前,電話番号
女,22,れいこさん,000-0000-0000

の場合はどうなるでしょう?これは次のようになります

名前,性別,年齢,住所,電話番号
上田,男,34,栃木,
れいこさん,女,22,,000-0000-0000

なんとなく想像できる挙動だと思います。ようは、あまり細かいことを気にせず、連結してくれるものです。

同じデータであればフィールド名を統一しよう

以上の仕組みから、フィールド名が1文字でも違うと別の列に書き出されてしまいます。「名前」と「なまえ」は別フィールドとして吐き出されるので、前もってわかっている場合は、フィールド名を手直ししておいた方がきっと幸せになれます。

CSVSCはオープンソースです

本当に大したプログラムじゃないんですが、CSVSCはオープンソースです。Githubに載せています。それとCSVの連結の過程において、データをサーバに転送することは一切行っていません。実は連結の仕事をしているのはあなたのブラウザ自身です。合同会社サンドボックスのサーバはただそのプログラムをホスティングしているだけです。だからデリケートなデータであっても、ご安心ください。

CSVSCを起動する

前置きが長くなりました。肝心のプログラムはここにあります。

CSVSCを開く

Nipoで使える!複数グループのCSVデータを1つにまとめるツールです

CSVSCは複数のCSVファイルを、1枚のCSVファイルに連結するWebアプリです。もともと、Nipoのために作成しましたがCSVファイル全般でご利用になれます。

CSVSCは複数のCSVファイルをドラッグ&ドロップでセットし、「ダウンロード」ボタンをクリックすると1枚のCSVファイルに統合します。

CSVSCの特徴

ドラッグ操作だけで複数のCSVファイルを1つのCSVファイルに変換できるCSV連結ソフトです。

  • ドラッグ&ドロップでかんたん操作
  • 2件以上のCSVファイルを1つにまとめます
  • 各CSVファイルのフィールド名は、並び順が異なっていても大丈夫です
    • (A.csvが[ 名前, 性別, 住所] B.csvが[ 性別, 住所, 名前]でもOK)
  • 一方にしか存在しないフィールドがある場合でも大丈夫です
  • 基本的にUTF-8の文字コードしか想定していません。Shift-JISとは相性が悪いかも?
  • オープンソースです

複数のCSVファイルを1つにまとめるにはどうするか?

「CSVを1つにまとめたい」という場合、前述のようにコピーペーストをすれば簡単にできます。しかし注意しなければならないポイントとして

  • 1行目の「項目見出し」をデータとしてコピーしないようにすること
  • 各見出しの並び順が同じであることを確認する
  • 文字コードが同じか確認する(WindowsはSHIFT-JIS、そのほかはUTF-8)

があります。

Nipoで過去の日報を出力すると、グループ内の「日報テンプレート」単位でCSVが出力できます。ですが人数の制約などでグループを分けて運用する場合に、本来1つのCSVファイルでまとめたいのに、2つのCSVファイルに分かれてしまいます。

AグループとBグループのCSVデータを1つのCSVに連結するために、CSVSCは開発されました。

ここまで読んでくれてありがとうございますっ
Nipoに興味を持ちましたか?すぐ始められますよ

個人情報の入力も無し。ワンクリックで体験アカウントで利用可能です。そのまま正式アカウントへ昇格もOK。Nipoが使えないと思ったらブラウザを閉じるだけです

便利ツール
クラウド日報 Nipo

コメント