MAX Excelで処理できる以上のCSVファイルが提供されました。すべてのデータを表示できる必要があります。私はそれを「分割」する方法を理解し、試しましたが、うまくいきません。
背景:CSVファイルはExcel CSVファイルであり、ファイルを提供した人は2m
行のデータがあると言っています。
Excelにインポートすると、1,048,576
行までデータを取得し、データの1,048,577
行から始まる新しいタブに再インポートしますが、1行しか表示されません。 more (「人」が200万を超えると言ったという事実だけでなく、最後の数セットの行の情報のため)
CSVファイルをExcel CSVファイルとして提供しているため、1,048,576
を過ぎたすべての情報が失われた(?)ので、これが発生したのではないかと考えました。
SQLデータベース形式のファイルを要求する必要がありますか?
区切り を試してみてください。最大20億行、200万列をすばやく開くことができ、15日間の無料トライアルもあります。私のために仕事をしています!
MS-Accessに.CSVファイルをロードすることをお勧めします。
MS-Excelを使用すると、このソースへのデータ接続を作成し(実際にワークシートにレコードをロードすることなく)、接続されたピボットテーブルを作成できます。これで、テーブルに事実上無制限の数の行を含めることができます(プロセッサとメモリに依存します。現在、3 Gbメモリの15ミリ行があります)。
追加の利点は、MS-Accessで集計ビューを作成できるようになったことです。このようにして、数億行から概要を作成し、MS-Excelで概要を表示できます(32ビットOSのNTFSファイルの2Gb制限に注意してください)。
まず、ファイル形式をcsvからtxtに変更します。ファイル名を編集し、csvをtxtに変更するだけです。 (Windowsはデータの破損の可能性について警告を表示しますが、問題ありません。[OK]をクリックしてください)。次に、txtファイルのコピーを作成して、2つのファイルに200万行のデータが含まれるようにします。次に、最初のtxtファイルを開き、200万行を削除してファイルを保存します。次に、2番目のtxtファイルを開き、最初の100万行を削除して、ファイルを保存します。元のtxtに変更したのと同じ方法で、2つのファイルをcsvに戻します。
Excel 2007+は100万行以上に制限されています (正確には2 ^ 20)ですので、2M行ファイルは決して読み込まれません。あなたが分割と呼ぶテクニックはExcelに組み込まれているものだと思いますが、width問題に対してのみ有効であり、length問題。
私がすぐに見る最も簡単な方法は、いくつかの ファイル分割ツール - 'emのトンがあります を使用し、それを使用して結果の部分的なcsvファイルを複数のワークシートにロードすることです。
ps:「Excel csvファイル」は存在しません。一般にcsvファイルと呼ばれる形式のいずれかを使用するExcelによって生成されたファイルのみがあります...
PowerPivot を使用して、最大2GBのファイルを操作できます。これでニーズに十分です。
誰も言及していないことに驚いています Microsoft Query 。必要なものだけを照会することで、必要に応じて大きなCSVファイルからデータを簡単に要求できます。 (クエリは、Excelでテーブルをフィルター処理する方法のようなセットアップです)
さらに良いのは、Power Queryアドインをインストールできる場合、それは非常に簡単で迅速です。注:Power Queryは2010および2013のアドインですが、2016に付属しています。
Matlabがある場合、そのインポート機能を介して大きなCSV(またはTXT)ファイルを開くことができます。このツールは、テーブル、列ベクトル、数値行列などを含むさまざまなインポート形式オプションを提供します。ただし、Matlabがインタープリターパッケージであるため、このような大きなファイルをインポートするには時間がかかります。約10分で200万行。
このツールには、Matlabの[ホーム]タブから[データのインポート]ボタンをクリックしてアクセスできます。大きなファイルのアップロードの画像の例を以下に示します。 インポートされると、データは右側のワークスペースに表示され、Excelのような形式でダブルクリックして、さまざまな形式でプロットすることもできます。
Sublime Textで大きな17GBのcsvファイルを問題なく編集でき(行番号を付けると、手動での分割を簡単に追跡できるようになります)、それを1,048,576行未満のチャンクでExcelにダンプできました。シンプルで非常に迅速-オーダーメイドのソリューションを調査、インストール、学習するよりも手間がかかりません。すばやく汚れますが、動作します。
"DO I need to ask for a file in an SQL database format?"
はい!!!
この問題に最適なオプションは、データベースを使用することです。
Excel 2010 仕様 。
MS Accessを使用します。 2,673,404レコードのファイルがあります。 notepad ++では開かず、Excelは1,048,576を超えるレコードをロードしません。 mysqlデータベースからデータをエクスポートし、csv形式で必要なため、タブ区切りです。そこで、Accessにインポートしました。ファイル拡張子を.txtに変更して、MS Accessがインポートウィザードを実行するようにします。
MS Accessはファイルにリンクするため、データベースはそのままでcsvファイルを保持します
私はこの主題を研究していることがわかりました。このすべてのデータをExcelデータシートにコピーする方法があります。 (以前に5000万行のCSVファイルでこの問題が発生しました)形式がある場合は、追加のコードを含めることができます。これを試して。
Sub ReadCSVFiles()
Dim i, j As Double
Dim UserFileName As String
Dim strTextLine As String
Dim iFile As Integer: iFile = FreeFile
UserFileName = Application.GetOpenFilename
Open UserFileName For Input As #iFile
i = 1
j = 1
Check = False
Do Until EOF(1)
Line Input #1, strTextLine
If i >= 1048576 Then
i = 1
j = j + 1
Else
Sheets(1).Cells(i, j) = strTextLine
i = i + 1
End If
Loop
Close #iFile
End Sub