【问题标题】:COPY a csv file with 108 column into postgresql将具有 108 列的 csv 文件复制到 postgresql
【发布时间】:2020-05-09 03:30:57
【问题描述】:
我有一个包含 108 列的 csv 文件,我尝试将其导入我的 postgresql 表中。很明显,我不想在 CREATE TABLE 语句中指定每一列。但是当我进入
\COPY 'table_name' FROM 'directory' DELIMITER ',' CSV HEADER;显示此错误消息:“错误:最后一个预期列之后的额外数据”。当有几列时,我知道如何解决这个问题,但是,就像我说的,我不想指定整个 108 列。顺便说一句,我的表确实包含任何列。关于我如何做到这一点的任何帮助?谢谢 !
【问题讨论】:
标签:
postgresql
csv
import
error-handling
【解决方案1】:
在处理此类问题时,我经常作弊。网上有很多工具可以将 CSV 转换为 SQL,https://www.convertcsv.com/csv-to-sql.htm 就是其中之一。
复制/粘贴您的 CSV,复制/粘贴生成的 SQL。不是最优雅的解决方案,虽然可以作为一次性的情况。
现在,如果您希望定期重复此过程(我希望是自动化的),那么 Python 可能是一种有趣的语言,可以探索快速编写脚本来为您执行此操作,然后将其安排在 CRON 作业或其他任务中您喜欢使用正确输入(CSV 文件)自动调用它的方法。
如果我误解了您最初的问题,或者如果我可以提供更多帮助,请随时告诉我,请大声告诉我,我会尽力而为!