0
我正在創建一個表,並且想要導入(加載到postgres)一些列有一些缺失值(空單元格)的製表符分隔文件。我希望這些單元格保持空白(或者可能將它們轉換爲NULL,同時執行加載/或之後/或將它們留空)。導入丟失一些浮點類型值的csv數據表
我曾嘗試下面的腳本:
CREATE TABLE Conclusive_wg_H3K9me3_dn
(
Conclusive_wg_K9me3_DN_sorter float,
Conclusive_wg_K9me3_DN_geneid character(80) NOT NULL,
Conclusive_wg_K9me3_DN_bvi_srt float,
Conclusive_wg_K9me3_DN_cbk_srt float,
Conclusive_wg_K9me3_DN_dj_srt float,
Conclusive_wg_K9me3_DN_evj_srt float,
Conclusive_wg_K9me3_DN_flv_srt float,
Conclusive_wg_K9me3_DN_ghw_srt float,
Conclusive_wg_K9me3_DN_gvz_srt float,
Conclusive_wg_K9me3_DN_srr_srt float,
Conclusive_wg_K9me3_DN_AllCount float,
Conclusive_wg_K9me3_DN_PercentAllCount float,
Conclusive_wg_K9me3_DN_DynamicCounat float,
Conclusive_wg_K9me3_DN_PercentDynamic float,
Conclusive_wg_K9me3_DN_GeneName character(80) NOT NULL,
Conclusive_wg_K9me3_DN_RankSorting float,
Conclusive_wg_K9me3_DN_NewScore float,
CONSTRAINT Conclusive_wg_K9me3_DN_geneid PRIMARY KEY (Conclusive_wg_K9me3_DN_geneid)
);
COPY Conclusive_wg_H3K9me3_dn FROM 'G:\CarrollLab\Teena\ConsolidationWithMethylationData_NoiseBelow32Removed\FromPostgreSQLdb\FigsAndTangentWholeGenes\DynamicWholeGeneValues\OutputFromPostgres\ConclusiveDynamicGenes\Conclusive_wg_H3K9me3_dn.txt' WITH (FORMAT 'csv', DELIMITER E'\t', NULL 'NULL',HEADER);
如果我使用文本分隔的文件中的所有行都浮點值執行該腳本,導入過程的工作就好了!沒有麻煩。
但是,在嘗試使用一個文件有幾個空單元格(缺少一些浮點值的),我遇到了以下錯誤味精來運行它:
ERROR: invalid input syntax for type double precision: ""
CONTEXT: COPY conclusive_wg_h3k9me3_dn, line 9, column conclusive_wg_k9me3_dn_flv_srt: ""
********** Error **********
ERROR: invalid input syntax for type double precision: ""
SQL state: 22P02
Context: COPY conclusive_wg_h3k9me3_dn, line 9, column conclusive_wg_k9me3_dn_flv_srt: ""
事實上,我在9號線txt分隔的文件在其一列中缺少數據(空單元格)。
我是否必須先將EXCEL中的所有空表格單元格替換爲字符串「NULL」?... 浮點類型是否能識別NULL字符串?
或者我可以使postgres以某種方式理解如何處理空單元格而不用用其他方法替換空值?
如何解決這個問題? 謝謝! Roy