2016-08-10 92 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的構造方式與我的假設相同)。如果我誤解了文件的結構,那麼你的問題會比我想象的要大得多!