我試圖從csv文件導入到postgresql的數據,不幸的是它沒有完全格式化。Postgresql - 將csv導入到時間戳的合併時間和日期
例子:
DATE,TIME,NUMERIC,NUMERIC,NUMERIC,NUMERIC,INTEGER
我希望將數據導入到表中的列:
timestamp with timezone, numeric, numeric, numeric, numeric, integer
對於導入我用複製的數據:
COPY tabledata FROM 'c:\Users\Public\Downloads\test.csv' DELIMITERS ',' CSV;
當然它不起作用,因爲日期和時間被','分開,所以postgresql假定這些是2個獨立的數據領域。
我已經管理它將.csv導入到一個設置爲.csv的表格中,但是我需要將日期和時間作爲時間戳,稍後使用時區,因爲我將處理大量的數據後導入轉換將是我的最後選擇,因爲性能問題。
我試圖編輯.csv文件,然後導入「sed's /,/ /'EURUSD30.csv> EURUSD30E.csv」,但是我得到一個錯誤,提示命令「s /」是輸入錯誤或無法找到。我很笨,因爲這似乎適用於其他人,但這也不是我的第一選擇。
如果postgresql在導入時可以簡單地告知將時間和日期合併到一個時間戳值中,那將會更容易。有任何想法嗎?
感謝
複製命令沒有任何改變數據的能力。如果您希望在導入時執行此操作,則可以嘗試向表中添加一個觸發器,在每行插入併合並列後觸發該表。不幸的是,最終,這並不比導入後的操作更好。您最好的選擇是在導入之前清理CSV文件。 – jcern