1,048,576行以上のデータを持つExcel CSV.ファイル

ExcelのMAX値を超えるCSVファイルを渡されたのですが、どうしてもすべてのデータを見ることができるようにしたいのです。分割する方法は知っていて、試したのですが、うまくいきません。

背景を少し。CSVファイルはExcelのCSVファイルで、ファイルをくれた人は、約2m`の行のデータがあると言っています。

Excelにインポートすると、1,048,576行までのデータを取得し、新しいタブでデータの1,048,577行から再インポートしますが、1行しか得られません、もっとあるはずです(200万以上あると" the person" が言った事実だけではなく、最後の数行のセットの情報によって)

こうなった原因は、もしかしたらCSVファイルをExcelのCSVファイルとして提供されているので、1,048,576以降の情報がすべて失われているからかもしれないと思いました(?)

SQLデータベース形式のファイルを要求する必要があるのでしょうか?

質問へのコメント (4)

delimit]1を試してみてください。20億行と200万列を素早く開くことができ、15日間の無料試用版もあります。私の場合、これで十分です

解説 (5)

MS-Accessで.CSVファイルをロードすることをお勧めします。

MS-Excelを使用すると、このソースへのデータ接続を作成し(ワークシートにレコードを実際にロードすることなく)、接続されたピボットテーブルを作成できます。 これで、テーブルに実質的に無制限の行数を含めることができます(プロセッサとメモリによって異なります。3Gbメモリを搭載した15 mlnの行があります)。

追加の利点は、MS-Accessで集約ビューを作成できるようになったことです。 このようにして、数億行の概要を作成し、MS-Excelで表示できます(32ビットOSのNTFSファイルの2Gb制限に注意してください)。

解説 (2)

まず、ファイル形式をcsvからtxtに変更します。 簡単に実行できます。ファイル名を編集して、csvをtxtに変更するだけです。 (Windowsでは、データの破損の可能性について警告が表示されますが、問題ありません。[OK]をクリックしてください)。 次に、txtファイルのコピーを作成して、2つのファイルに200万行のデータが含まれるようにします。 次に、最初のtxtファイルを開き、200万行を削除してファイルを保存します。 次に、2番目のtxtファイルを開き、最初の100万行を削除してファイルを保存します。 2つのファイルを最初にtxtに変更したのと同じ方法で、2つのファイルをcsvに戻します。

解説 (6)

Excel 2007+は100万行を多少超える程度に制限されています (正確には2^20)ので、2M行のファイルを読み込むことはできません。 分割というテクニックはExcelに内蔵されているものだと思いますが、それはの問題に対してのみ有効で、長さの問題には有効ではありません。

私がすぐに見た本当に最も簡単な方法は、いくつかのファイル分割ツール - 多くの 'em を使用し、結果の部分 csv ファイルを複数のワークシートに読み込むためにそれを使用することです。

ps: "excel csv files" は存在しません。存在するのは、一般にcsvファイルと呼ばれる形式の1つを使用したExcelで作成されたファイルだけです...。

解説 (2)

PowerPivot](http://en.wikipedia.org/wiki/PowerPivot)を使えば、2GBまでのファイルを扱うことができますので、必要十分でしょう

解説 (1)

Microsoft Queryについて誰も言及しなかったことに驚いています。 必要なものだけをクエリすることで、必要に応じて大きなCSVファイルからデータを要求できます。 (クエリは、Excelでテーブルをフィルタリングする方法のように設定されます)。

さらに良いことに、Power Queryアドインのインストールが可能であれば、非常にシンプルで迅速です。 注:Power Queryは2010年と2013年のアドインですが、2016年に付属しています。

解説 (0)

Matlabを使用している場合は、インポート機能を介して大きなCSV(またはTXT)ファイルを開くことができます。 このツールは、テーブル、列ベクトル、数値行列など、さまざまなインポート形式オプションを提供します。 ただし、Matlabはインタープリターパッケージであるため、このような大きなファイルをインポートするには独自の時間がかかり、約10分で200万行を超えるファイルをインポートすることができました。

このツールには、[データのインポート]ボタンをクリックして、Matlabの[ホーム]タブからアクセスできます。 大きなファイルのアップロードの例画像を以下に示します。 。![ここに画像の説明を入力してください](http://i.stack.imgur.com/9JQUH.png。)。 インポートすると、データは右側のワークスペースに表示され、Excelのような形式でダブルクリックしたり、さまざまな形式でプロットしたりできます。 。![ここに画像の説明を入力してください](http://i.stack.imgur.com/1Oo4p.png。)

解説 (0)

Sublime Textの大きな17GB csvファイルを問題なく編集でき(行番号付けにより、手動分割を追跡するのがはるかに簡単になります)、それを1,048,576行未満のチャンクでExcelにダンプしました。 シンプルで非常に迅速-オーダーメイドのソリューションの調査、インストール、学習よりも不便ではありません。 すばやく汚れていますが、機能します。

解説 (0)

MS Accessを使用します。 2,673,404レコードのファイルがあります。 notepad ++では開かず、Excelは1,048,576を超えるレコードをロードしません。 mysqlデータベースからデータをエクスポートしたので、タブが区切られています。csv形式でデータが必要です。 Accessにインポートしました。 ファイル拡張子を.txtに変更して、MS Accessがインポートウィザードを通過できるようにします。

MS Accessはファイルにリンクするため、データベースをそのまま維持するには、csvファイルを保持します。

解説 (0)

" DO SQLデータベース形式のファイルをリクエストする必要があります?"はい。!!!

データベースを使用することは、この問題の最良のオプションです。

Excel 2010 仕様

解説 (0)

私はこの主題を研究しているのを見つけました。 このすべてのデータをExcelデータシートにコピーする方法があります。 (以前に5,000万行の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
解説 (0)

CSVをメモ帳の2つのファイルに分割します。 それは苦痛ですが、その後Excelでそれぞれを個別に編集することができます。

解説 (1)