我有一个非常大的 3.5 GB CSV 文件,我希望能够根据各种输入读取、排序和过滤结果。我很确定我可以将其导入 MySQL 数据库并从那里开始,但是是否有任何程序或在线工具可以简单地上传 CSV,其余的都是自动的?
10 回答
因为它是一个 CSV 文件。
- 下载http://openrefine.org/download.html
- 它是开源的。解压缩 openrefine.zip。
- 运行 openrefine-2.7-rc.1\openrefine.exe。
- 它是一个网络应用程序。所以在 Chrome 中打开http://127.0.0.1:3333/ 。
- 上传大的 csv 文件。就我而言,文件大小为 3.61 GB,并且已成功打开。
您可以尝试 PostgreSQL 9.1+ 及其file_fdw(文件外部数据包装器),它会假装 CSV 文件是一个表。如果您将 CSV 文件替换为另一个同名的 CSV 文件,那么您会立即在数据库中看到新信息。
您可以通过使用物化视图(PG 9.3+) 来提高性能,该视图本质上是从 CSV 数据创建一个真实的数据库表。您可以使用pgAgent按计划刷新物化视图。
另一种选择是使用COPY语句:
/* the columns in this table are the same as the columns in your csv: */
create table if not exists my_csv (
some_field text, ...
);
/* COPY appends, so truncate the table if loading fresh data again: */
truncate table my_csv;
/*
you need to be a postgres superuser to use COPY
use psql \copy if you can't be superuser
put the csv file in /srv/vendor-name/
*/
copy
my_csv
from
'/srv/vendor-name/my.csv'
with (
format csv
);
我对具有超过 300 万行的 csv 文件有同样的问题。无法在 OpenOffice Calc、Writer 或 Notepad++ 中打开。
然后我使用 OpenOffice 4 base 作为一个糟糕的 mans 解决方案,它可以链接到 csv。简短描述(我使用德语 OpenOffice,措辞可能不正确)。
- 准备:您的文件需要 .csv 扩展名。第一行应该有字段名称。将文件作为唯一文件放在新目录中以避免混淆。否则将导入所有文件。
- 文件 - 新建 - 数据库。助理应该上来。
- 连接到现有数据库,格式化 TEXT(您的文件需要具有 .csv 扩展名)。
- 下一个。选择文件路径(奇怪的是不是文件本身)。选择.csv。选择正确的字段分隔符。
- 下一步和完成。
- 为新创建的数据库选择一个名称。
如果一切正常,您现在可以看到带有新创建表的表视图。
您也可以使用 gVim 像在记事本中一样查看文件,例如添加第一列描述行。
您可以在此表上创建查询。由于该表没有索引,因此速度很慢。由于 OpenOffice 不使用沙漏,因此系统似乎已经崩溃。
基础非常有限,感觉就像早期的测试版。无法在该数据库中创建新表(因此无法从文本文件中选择插入查询)。
无法导出到 csv。可以(耗时)将合理大小的查询结果复制并粘贴到 calc。
当然——有很多类似电子表格的工具支持大数据——IBM BigSheets 就是一个主要的例子。
对于具有免费试用期的在线产品,我建议使用Datameer ,我在它们方面取得了相对较好的成功。
CSV Explorer是一个在线工具,用于读取、排序和过滤具有数百万行的 CSV。上传 CSV,它会自动导入并让您开始处理数据。
我有一个包含约 1 亿条记录的文件,我使用 linux 命令行查看文件(只是看看)。
$ 更多 myBigFile.CSV
或者
$ 纳米 myBigFile.CSV
它适用于 6 GB 文件
您可以使用内置的 excel 连接来执行此操作。
原始来源:https ://excel.officetuts.net/en/examples/open-large-csv
脚步 :
如果它是一个平面 .CSV 文件并且它不涉及数据管道,那么我不确定您所说的“其余部分是自动的”是什么意思。
对于访问较大的 .CSV 文件,典型的解决方案是
- 将您的 .CSV 文件插入 SQL 数据库,例如 MySQL、PostgreSQL 等。
您需要设计一个表模式,找到一个服务器来托管数据库,并编写服务器端代码来维护或更改数据库。
- 使用 Python 或 R 处理数据。
在 GB 的数据上运行 Python 和 R 会给您的本地计算机带来很大的压力。它也更适合数据探索和分析,而不是表操作。
- 为您的数据找到一个数据中心。例如,Acho 工作室。
数据中心要容易得多,但其成本可能会有所不同。它确实带有一个 GUI,可以帮助您轻松地对表格进行排序和过滤。
你可以试试阿乔。它是一个在线工具,也提供免费试用。我推荐它,因为它的界面看起来非常棒且直观。此外,它具有您提到的所有功能,包括排序或过滤值。基本上,我使用它来缩小数据集的大小并将其导出到 Python 以进行进一步分析。