查看非常大的CSV文件?

时间:2013-11-12 18:04:45

标签: database csv

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

10 个答案:

答案 0 :(得分:5)

是的,有。

您可以使用OpenRefine(或Google优化)。 OpenRefine就像是类固醇的电子表格。

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

答案 1 :(得分:3)

因为它是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,并且已成功打开。
  6. https://snag.gy/02WECq.jpg

答案 2 :(得分:2)

您可以尝试PostgreSQL 9.1+及其file_fdw(文件外部数据包装器),它会假装CSV文件是一个表。如果您将CSV文件替换为另一个同名的CSV文件,那么您将立即在数据库中看到新信息。

您可以使用materialized view(PG 9.3+)来提高性能,从而基本上从CSV数据创建真实的数据库表。您可以按计划使用pgAgentrefresh物化视图。

另一种选择是使用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
);

答案 3 :(得分:2)

我遇到了csv文件超过300万行的问题。无法在OpenOffice Calc,Writer或Notepad ++中打开。

然后我使用OpenOffice 4 base作为穷人解决方案,可以链接到csv。简短描述(因为我使用德语OpenOffice,措辞可能不正确。)

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

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

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

    基础非常有限,感觉像早期测试版。在该DB中创建新表是不可能的(因此没有插入查询可以从文本文件中进行选择)。

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

答案 4 :(得分:1)

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

对于免费试用期的在线产品,我建议Datameer我已经取得了相对较好的成功。

答案 5 :(得分:1)

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

https://www.CSVExplorer.com

答案 6 :(得分:0)

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

$ more myBigFile.CSV

$ nano myBigFile.CSV

它使用6 GB文件

答案 7 :(得分:0)

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

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

  1. 将.CSV文件插入到SQL数据库中,例如MySQL,PostgreSQL等。

您需要设计一个表架构,找到一个服务器来承载数据库,并编写服务器端代码来维护或更改数据库。

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

在GB数据上运行Python和R将给您的本地计算机带来很大压力。与数据操作和表操作相比,它也更好。

  1. 查找数据中心。例如,Acho Studio

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

答案 8 :(得分:0)

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

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

步骤:

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

enter image description here

  1. 双击该区域以打开 Power Query 编辑器。 enter image description here
  2. 现在,如果向下滚动,您会注意到新行会随时添加。
  3. 要更改值,请右键单击单元格并选择“替换值”。 enter image description here
  4. 它会将“专业”列下的所有“建筑商”替换为“屋顶工”。

答案 9 :(得分:0)

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