13

有什么好的程序可以处理读取大型 CSV 文件吗?我处理的一些数据文件在 1 GB 范围内。它们有太多行,Excel 甚至无法处理。使用 Access 可能会有点慢,因为您必须将它们实际导入数据库才能直接使用它们。是否有可以打开大型 CSV 文件并为您提供简单的电子表格布局以帮助您轻松快速地扫描数据的程序?

4

7 回答 7

8

MySQL 可以使用该LOAD DATA INFILE命令非常快速地将 CSV 文件导入到表中。它还可以直接从 CSV 文件中读取,绕过任何导入程序,使用CSV 存储引擎

将其导入本机表LOAD DATA INFILE有启动成本,但之后您可以INSERT/UPDATE更快,以及索引字段。一开始使用 CSV 存储引擎几乎是瞬间完成的,但只有顺序扫描会很快。

更新这篇文章(向下滚动到标题为Instant Data Loads的部分)讨论了使用这两种方法将 CSV 数据加载到 MySQL 上,并给出了示例。

于 2008-09-05T00:13:28.103 回答
8

我发现reCSVeditor是一个用于编辑大型 CSV 文件的好程序。它非常适合去除不必要的列。我已经很容易地将它用于文件 1,000,000 个记录文件。

于 2012-09-18T10:33:45.017 回答
2

vEdit非常适合这个。我经常用它打开 100+ 兆(我知道你说最多一个演出,我认为他们在他们的网站上做广告它可以处理两倍)文件。它具有正则表达式支持和许多其他功能。70 美元对于你可以用它做的金额来说是便宜的。

于 2008-09-04T17:44:44.527 回答
1

如果您没有附加到真正的电子表格静态字段大小视图,GVim 可以免费处理这么大的文件。

于 2008-09-04T17:51:43.667 回答
0

vEdit 很棒,但不要忘记你总是可以回到“基础”查看Cygwin并开始 greping。

有用的命令

  • grep
  • 尾巴
  • 当然是perl!
于 2008-09-04T17:49:51.393 回答
0

这取决于您实际想要对数据执行的操作。给定一个像这样的大文本文件,您通常在任何时候都只需要较小的数据子集,所以不要忽视诸如“grep”之类的工具,用于提取您想要查找和使用的部分。

于 2008-09-04T17:56:12.690 回答
0

如果您可以将数据放入内存并且您喜欢 python,那么我建议您查看Augustus的 UniTable 部分。(免责声明:Augustus 是开源的(GPLv2),但我为编写它的公司工作。)

它没有很好的记录,但这应该可以帮助你开始。

from augustus.kernel.unitable import *
a = UniTable().from_csv_file('filename')
b = a.subtbl(a['key'] == some_value) #creates a subtable

它不会直接为您提供类似 excel 的界面,但通过一些工作,您可以快速获得许多统计数据。

于 2008-09-04T23:16:00.330 回答