[英]Merging a large number of csv datasets
這是2個樣本數據集。
PRISM-APPT_1895.csv https://copy.com/SOO2KbCHBX4MRQbn
PRISM-APPT_1896.csv https://copy.com/JDytBqLgDvk6JzUe
我有100種這些類型的數據集,它們試圖合並到一個數據框中,將其導出到csv,然后將其合並到另一個非常大的數據集中。
我需要通過“ gridNumber”和“ Year”合並所有內容,以創建時間序列數據集。
最初,我導入了所有年度數據集,然后嘗試將其與此合並:
df <- join_all(list(Year_1895, Year_1896, Year_1897, Year_1898, Year_1899, Year_1900, Year_1901, Year_1902,
Year_1903, Year_1904, Year_1905, Year_1906, Year_1907, Year_1908, Year_1909, Year_1910,
Year_1911, Year_1912, Year_1913, Year_1914, Year_1915, Year_1916, Year_1917, Year_1918,
Year_1919, Year_1920, Year_1921, Year_1922, Year_1923, Year_1924, Year_1925, Year_1926,
Year_1927, Year_1928, Year_1929, Year_1930, Year_1931, Year_1932, Year_1933, Year_1934,
Year_1935, Year_1936, Year_1937, Year_1938, Year_1939, Year_1940, Year_1941, Year_1942,
Year_1943, Year_1944, Year_1945, Year_1946, Year_1947, Year_1948, Year_1949, Year_1950,
Year_1951, Year_1952, Year_1953, Year_1954, Year_1955, Year_1956, Year_1957, Year_1958,
Year_1959, Year_1960, Year_1961, Year_1962, Year_1963, Year_1964, Year_1965, Year_1966,
Year_1967, Year_1968, Year_1969, Year_1970, Year_1971, Year_1972, Year_1973, Year_1974,
Year_1975, Year_1976, Year_1977, Year_1978, Year_1979, Year_1980, Year_1981, Year_1982,
Year_1983, Year_1984, Year_1985, Year_1986, Year_1987, Year_1988, Year_1989, Year_1990,
Year_1991, Year_1992, Year_1993, Year_1994, Year_1995, Year_1996, Year_1997, Year_1998,
Year_1999, Year_2000),
by = c("gridNumber","Year"),type="full")
但是R一直崩潰,因為我認為合並處理起來有些大,所以我正在尋找更有效的方法。 也許是data.table? 或其他選擇。
感謝您的任何幫助,您可以提供。
差不多九個月后,您的問題沒有答案。 我找不到您的數據集,但是,我將展示一種完成這項工作的方法。 在awk中它是微不足道的。
這是一個最小的awk腳本:
BEGIN {
for(i=0;i<10;i++) {
filename = "out" i ".csv";
while(getline < filename) print $0;
close(filename);
}
}
該腳本作為awk -f s.awk
運行,其中s.awk是文本文件中的上述腳本。
該腳本創建十個文件名:out0.csv,out1.csv ... out9.csv。 這些是帶有數據的現有文件。 打開第一個文件,並將所有記錄發送到標准輸出。 然后關閉文件,並創建並打開下一個文件名。 上面的腳本幾乎沒有提供命令行讀取/重定向的功能。 通常,您將使用awk處理從另一個文件讀取的一長串文件名; 帶有根據各種條件有選擇地忽略行或列的語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.