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