7

我有一个非常大的 3.5 GB CSV 文件,我希望能够根据各种输入读取、排序和过滤结果。我很确定我可以将其导入 MySQL 数据库并从那里开始,但是是否有任何程序或在线工具可以简单地上传 CSV,其余的都是自动的?

4

10 回答 10

7

就在这里。

您可以使用OpenRefine(或 Google Refine)。OpenRefine 就像一个使用类固醇的电子表格。

您可以操作的文件大小取决于计算机的内存。

于 2015-10-05T21:50:46.170 回答
5

因为它是一个 CSV 文件。

  1. 下载http://openrefine.org/download.html
  2. 它是开源的。解压缩 openrefine.zip。
  3. 运行 openrefine-2.7-rc.1\openrefine.exe。
  4. 它是一个网络应用程序。所以在 Chrome 中打开http://127.0.0.1:3333/ 。
  5. 上传大的 csv 文件。就我而言,文件大小为 3.61 GB,并且已成功打开。

https://snag.gy/02WECq.jpg

于 2017-02-22T10:55:58.567 回答
3

您可以尝试 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
);
于 2013-11-12T18:48:36.620 回答
2

我对具有超过 300 万行的 csv 文件有同样的问题。无法在 OpenOffice Calc、Writer 或 Notepad++ 中打开。

然后我使用 OpenOffice 4 base 作为一个糟糕的 mans 解决方案,它可以链接到 csv。简短描述(我使用德语 OpenOffice,措辞可能不正确)。

  1. 准备:您的文件需要 .csv 扩展名。第一行应该有字段名称。将文件作为唯一文件放在新目录中以避免混淆。否则将导入所有文件。
  2. 文件 - 新建 - 数据库。助理应该上来。
  3. 连接到现有数据库,格式化 TEXT(您的文件需要具有 .csv 扩展名)。
  4. 下一个。选择文件路径(奇怪的是不是文件本身)。选择.csv。选择正确的字段分隔符。
  5. 下一步和完成。
  6. 为新创建的数据库选择一个名称。

如果一切正常,您现在可以看到带有新创建表的表视图。

您也可以使用 gVim 像在记事本中一样查看文件,例如添加第一列描述行。

您可以在此表上创建查询。由于该表没有索引,因此速度很慢。由于 OpenOffice 不使用沙漏,因此系统似乎已经崩溃。

基础非常有限,感觉就像早期的测试版。无法在该数据库中创建新表(因此无法从文本文件中选择插入查询)。

无法导出到 csv。可以(耗时)将合理大小的查询结果复制并粘贴到 calc。

于 2013-11-19T15:59:40.017 回答
1

当然——有很多类似电子表格的工具支持大数据——IBM BigSheets 就是一个主要的例子。

对于具有免费试用期的在线产品,我建议使用Datameer ,我在它们方面取得了相对较好的成功。

于 2013-11-12T18:59:30.413 回答
1

CSV Explorer是一个在线工具,用于读取、排序和过滤具有数百万行的 CSV。上传 CSV,它会自动导入并让您开始处理数据。

https://www.CSVExplorer.com

于 2017-07-25T18:26:35.007 回答
0

我有一个包含约 1 亿条记录的文件,我使用 linux 命令行查看文件(只是看看)。

$ 更多 myBigFile.CSV

或者

$ 纳米 myBigFile.CSV

它适用于 6 GB 文件

于 2015-03-08T04:13:50.247 回答
0

您可以使用内置的 excel 连接来执行此操作。

原始来源:https ://excel.officetuts.net/en/examples/open-large-csv

脚步 :

  1. 创建一个新的excel文件
  2. 导航到数据 >> 获取和转换数据 >> 从文件 >> 从文本/CSV 并导入 CSV 文件。
  3. 过了一会儿,您将看到一个带有文件预览的窗口。
  4. 单击加载按钮旁边的小三角形。 在此处输入图像描述
  5. 选择加载到...</li>
  6. 现在,我们需要创建一个连接并将数据添加到数据模型。这不会将数据加载到 Excel 工作表,因为那里有大约一百万行的限制。 在此处输入图像描述
  7. 单击确定。这将需要一段时间才能加载。
  8. 在右侧,您有我们文件的名称和行数。如果您保存文件,您会注意到它的大小显着增加。

在此处输入图像描述

  1. 双击此区域以打开 Power Query 编辑器。 在此处输入图像描述
  2. 现在,如果你向下滚动,你会注意到新的行是在旅途中添加的。
  3. 要更改值,请右键单击单元格并选择替换值。 在此处输入图像描述
  4. 它将在“职业”栏下将所有“建造者”替换为“屋顶工”。
于 2021-05-21T09:24:41.250 回答
0

如果它是一个平面 .CSV 文件并且它不涉及数据管道,那么我不确定您所说的“其余部分是自动的”是什么意思。

对于访问较大的 .CSV 文件,典型的解决方案是

  1. 将您的 .CSV 文件插入 SQL 数据库,例如 MySQL、PostgreSQL 等。

您需要设计一个表模式,找到一个服务器来托管数据库,并编写服务器端代码来维护或更改数据库。

  1. 使用 Python 或 R 处理数据。

在 GB 的数据上运行 Python 和 R 会给您的本地计算机带来很大的压力。它也更适合数据探索和分析,而不是表操作。

  1. 为您的数据找到一个数据中心。例如,Acho 工作室

数据中心要容易得多,但其成本可能会有所不同。它确实带有一个 GUI,可以帮助您轻松地对表格进行排序和过滤。

于 2020-12-16T01:25:48.997 回答
0

你可以试试阿乔。它是一个在线工具,也提供免费试用。我推荐它,因为它的界面看起来非常棒且直观。此外,它具有您提到的所有功能,包括排序或过滤值。基本上,我使用它来缩小数据集的大小并将其导出到 Python 以进行进一步分析。

于 2021-07-05T21:10:42.620 回答