巨大なCSVExcelスプレッドシートを別々のファイルに分割する方法

巨大なCSVExcelスプレッドシートを別々のファイルに分割する方法

Microsoft Excelは、非常に多くの日常業務に優れています。しかし、時々、その欠点の1つであるスプレッドシートのサイズに遭遇します。 Excelスプレッドシートを小さくする方法、または大きなCSVファイルを複数のファイルに分割する方法を確認するために読んでください。





大きなCSVを複数のファイルに分割するのはなぜですか?

大きなExcelファイルを複数の小さなファイルに分割する必要があるのはなぜですか?特にExcelには1,048,576のスプレッドシート行制限があるため、これは興味深い質問です。





100万行を超えると驚異的に聞こえます。ただし、特に特定のタスクでは、行制限に達するのは思ったより簡単です。たとえば、電子メールでマーケティングを行っている場合、数百万の電子メールアドレスを含むCSVファイルをインポートできます。





唯一の問題は、その数のアドレスを含むスプレッドシートをどのように管理するかということです。さらに、誰かが(別のプログラムから)すでに制限を超えているCSVを送信した場合はどうなりますか?

それが直面する可能性のある問題のように思われる場合は、次の5つの方法で大きなCSVまたはExcelファイルを複数の小さなファイルに分割してください。



大きなCSVファイルは手元にありませんが、自宅で一緒にプレイしたいですか?私は使用しています COVID-19オープンリサーチデータセット 例では、ダウンロードして使用することもできます。

1.プログラムを使用してCSVファイルを分割する

そこにいくつかの便利なCSVスプリッタープログラムがあります。ここに最高の2つがあります。ただし、これらのプログラムが機能していると、メモリの問題が発生することがあります。これは、CSV分割プログラムで一般的な問題です。





無料の巨大なCSVスプリッター

Free Huge CSV Splitterは、基本的なCSV分割ツールです。分割したいCSVファイルと使用したい行数を入力し、 分割ファイル 。行数によって、最終的に得られる出力ファイルの数が決まります。

CSVスプリッター

CSVスプリッターは2番目のツールです。少し洗練されたデザインですが、Free Huge CSVSplitterとほぼ同じ機能を提供します。 CSVをすばやく小さなチャンクに分割し、使用する行数を決定できるようにします。





2.バッチファイルを使用する

次は、 プログラム可能なバッチファイルを作成する 。バッチファイルを使用してCSVを小さなチャンクに処理し、ファイルをカスタマイズしてさまざまなチャンクを配信できます。

新しいテキストドキュメントを開き、以下をコピーして貼り付けます。

@echo off
setlocal ENABLEDELAYEDEXPANSION
REM Edit this value to change the name of the file that needs splitting. Include the extension.
SET BFN=HCAHPSHospital.csv
REM Edit this value to change the number of lines per file.
SET LPF=2500
REM Edit this value to change the name of each short file. It will be followed by a number indicating where it is in the list.
SET SFN=HosptialSplitFile
REM Do not change beyond this line.
SET SFX=%BFN:~-3%
SET /A LineNum=0
SET /A FileNum=1
For /F 'delims==' %%l in (%BFN%) Do (
SET /A LineNum+=1
echo %%l >> %SFN%!FileNum!.%SFX%
if !LineNum! EQU !LPF! (
SET /A LineNum=0
SET /A FileNum+=1
)
)
endlocal
Pause

実行する前に、バッチファイルを構成する必要があります。各コマンドの機能について説明します。バッチファイルのサイズや必要な出力に合わせてコマンドを変更できます。

  • 'SET BFN =' 分解する必要のあるCSVを指す必要があります
  • ' SET LPF = ' 新しいファイルを制限する行数です
  • 'SET SFN =' 分割ファイルの新しい命名スキームです

変数を入力したら、 ファイル>名前を付けて保存 。ファイル名を選択し、 保存する 。次に、新しく保存したテキストファイルを選択して、を押します。 F2 名前を変更します。を交換してください 。txt との拡張 。一 を押して わかった 警告が表示されたとき。これで、大きなCSVファイルを小さな出力ファイルに分割できます。

本物のトランシーバーに接続するトランシーバーアプリ

3.PowerShellスクリプトを使用してCSVファイルを分割します

あなたはできる さまざまな日常業務にバッチファイルを使用する 。ただし、PowerShellスクリプトは、特にこのタイプの処理と除算の場合は高速です。

次のスクリプトは、大きなCSVを小さなファイルにすばやくカットします。

まず、を押します CTRL + X Windowsの電源メニューを開き、を選択します パワーシェル 。 PowerShellがオプションでない場合は、次のように入力します パワーシェル スタートメニューの検索バーで、ベストマッチを選択します。

次に、次のスクリプトをコピーして貼り付けます。

$InputFilename = Get-Content 'C:filelocation'
$OutputFilenamePattern = 'output_done_'
$LineLimit = 50000
$line = 0
$i = 0
$file = 0
$start = 0
while ($line -le $InputFilename.Length) {
if ($i -eq $LineLimit -Or $line -eq $InputFilename.Length)
$file++
$Filename = '$OutputFilenamePattern$file.csv'
$InputFilename[$start..($line-1)]
$i++;
$line++
}

最初の行のファイルの場所をCSVファイルに置き換えてから、スクリプトを実行します。スクリプトは、ユーザーディレクトリにある小さいCSVファイルを出力します。たとえば、私のCSVファイルはC: Users Gavinにファイル名で見つかります output_done_1.csv 。出力名を変更するには、 $ OutputFilenamePattern = 'output_done_' ライン。

元のスクリプトは次の場所にあります。 SPJeff

4. PowerPivotを使用して大きなCSVを分割する

大きなCSVファイルを小さなビットに分割する最後から2番目のソリューションは、実際にはそれを分割しません。むしろ、大量のCSVファイルをExcelにロードし、PowerPivotツールを使用して開くことができます。それは正しい; Excelの行制限を事実上無視して、プログラム内でファイルを管理できます。

これを実現するには、CSVファイルへのデータリンクを作成し、PowerPivotを使用してコンテンツを管理します。完全な説明とチュートリアルについては、以下をお読みください。 JoseBarretoのブログ プロセスの詳細。

つまり、Barretoは、最大850万行を使用して、まったく問題なくピボットテーブルを作成します。上の画像はブログ投稿からのもので、Excelで使用されている合計200万行を示しています。

このプロセスでは、CSVが小さなチャンクに分割されないことに注意してください。ただし、ExcelでCSVを操作できることを意味します。これは、非常に便利な代替手段です。さらにヒントが必要な場合は、データ分析にピボットテーブルを使用する方法を確認してください。

5.分割CSVを使用して大規模なCSVをオンラインで分割する

大きなCSVファイルを小さなビットに分割するオンラインサービスもあります。そのようなオプションの1つは CSVを分割 、無料のオンラインCSVスプリッター。

Split CSVは、COVID-19データセットを適切に管理し、便利なチャンクに分割しました。他のツールと同様に、各ファイルの行数を定義し、ファイルを分割します。ただし、テスト用の大きなCSVファイルがなかったため、エクスペリエンスが異なる場合があります。

分割CSVには、プレミアムオプションも含まれています。サブスクリプション料金については、 カスタム区切り文字を使用できます 、出力ファイルタイプの選択を選択し、出力ファイルから特定の文字を削除し、重複する行を削除します。

CSVファイルを管理しやすいチャンクに分割する

これで、CSVファイルを細かく分割して管理しやすくするための5つのソリューションができました。ソリューションの速度と管理できるCSVファイルのサイズはさまざまであるため、最適なソリューションを見つけるために実験が必要になる場合があります。

共有 共有 つぶやき Eメール MicrosoftWordフォームからExcelスプレッドシートにデータをインポートする方法

WordフォームをExcelスプレッドシートにインポートすることは、特定の組み込みツールを使用して実行できることです。方法は次のとおりです。

次を読む
関連トピック
  • 生産性
  • スプレッドシートのヒント
  • マイクロソフトエクセル
  • MicrosoftOfficeのヒント
著者について ギャビンフィリップス(945件の記事が公開されました)

Gavinは、Windows and Technology Explainedのジュニアエディターであり、Really Useful Podcastの定期的な寄稿者であり、定期的な製品レビュー担当者です。彼は、デボンの丘から略奪されたデジタルアートプラクティスを備えたBA(Hons)現代ライティングと、10年以上のプロのライティング経験を持っています。彼はお茶、ボードゲーム、サッカーをたくさん楽しんでいます。

ギャビンフィリップスからもっと

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください