2016-08-10 91 views
0

我有一个较大的csv文件(1000行x 70,000列),我想在两个较小的csv文件之间创建一个联合(因为这些csv文件将在未来进行更新)。在Tableau中处理如此大的csv文件会导致处理时间过长,并且有时会导致Tableau停止响应。我想知道什么是更好的方式来处理这样大的csv文件,即。通过分割数据,将csv转换为其他数据文件类型,连接到服务器等。请让我知道。使用Tableau中的巨大csv文件

+0

看起来像'join'工作https://www.gnu.org/software/coreutils/manual/html_node/join-invocation.html#join-invocation – Andy

+1

70K列?我会考虑重塑成接近100列和700K行甚至更好的10列和7M行。将会更容易处理。在这一点上,这将是一个很好的候选人提取 –

+0

你可能会想要这个页面http://convertcsv.com/transpose-csv.htm,因为它会颠倒你的行和列。与所有在线工具一样 - 如果数据太大,您将遇到内存问题。 – dataman

回答

1

您应该确保的第一件事是您正在本地访问文件,而不是通过网络访问文件。有时它很小,但在某些情况下,可能会导致Tableau在读取文件时出现一些主要的减速。

除此之外,你的文件相当宽,应该归一化一些,这样你会得到更多的行和更少的列。 Tableau很可能会以更快的速度读取它,因为它有较少的分析列(数据类型等)。

如果你不知道如何规范CSV文件,你可以像使用的工具:http://www.convertcsv.com/pivot-csv.htm

一旦你的文件标准化和连接的画面,您可能需要提取它的Tableau的内改进的性能和文件压缩。

0

问题不在于csv文件的大小:它是结构。几乎所有尝试消化csv的东西都会占用大量的行,但不会占用很多列。通常,列定义数据的类型(例如客户编号,交易值,交易计数,日期等),行定义数据的实例(单个交易的所有值)。

Tableau可以愉快地应付数百(甚至数千)列和数百万行(我已经愉快地摄入了2500万行CSV)。

非常宽的表格通常会出现,因为您有一个“旋转”分析,沿着列有一组数据类别,沿着行有另一组数据类别。为了进行有效的分析,您需要撤销pivoting(或从未转发的源派生数据)。在完整的表格中循环(甚至可以通过直接逐行读取CSV而不是打开文件来获得列的数量,然后在Excel VBA中执行此操作)。将第一行(可能是列标题)转换为新列(因此每个新行都包含原始行标签和每个列标题的每个组合以及CSV文件中相关单元格的相关数据值)。新表格将有3列宽,但包含来自CSV的所有数据(假定CSV的构造方式与我的假设相同)。如果我误解了文件的结构,那么你的问题会比我想象的要大得多!