1

2GB の .csv ファイルを sqlite にインポートしようとすると問題が発生します。.csv ファイルには多数の列があり、sqlite で正しい列名を持つテーブルを作成する方法が提供されるため、sqlite マネージャーを使用しようとしました。

ただし、sqlite マネージャーで .csv ファイルをインポートしようとすると、何らかの理由でメモリの問題が発生し、インポートが失敗します。「致命的なエラー: メモリ不足です」というメッセージが表示されます。

これを回避する方法はありますか?ファイルをチャンクに分割することを考えましたが、ファイル自体を開いてメモリの問題に遭遇せずにこれを行う方法がわかりません。

ありがとう、

ベン

4

1 に答える 1

0

sqlite-manager で既知のバグに遭遇したようです -プロジェクトの問題トラッカーで大きな (268MB) CSV ファイルをインポートしようとすると、問題 414:メモリ不足エラーを参照してください。

sqlite-manager でインポートに失敗しても、正しい列名を持つ空のテーブルが得られる場合は、sqlite シェルでそのデータベース ファイルを開き、組み込み.import関数を使用してデータを取得します。

それがあなたの選択肢でない場合、または sqlite-manager でこれをやり遂げる決心をしている場合は、CSV ファイルを分割するというあなたの考えは正しいです。

プラットフォームに応じて、ファイルを分割するための多くのオプションがあります。これには多くの Windows フリーウェア ( GSplit などsplit) があり、ほぼすべての Unix ライク マシンでこのユーティリティを見つけることができます。

于 2013-05-31T21:34:08.963 に答える