sql - Postgres - 使用 \COPY 强制数字列中的 NULL 值
问题描述
我正在将大型 CSV 写入 Postgres 表。这些列是数据类型的混合。有些是数字,其中一些数字列包含空单元格。
这是一个示例行。(您必须单击“运行代码片段”才能看到示例行的良好视图。)
<style type="text/css">
table.tableizer-table {
font-size: 12px;
border: 1px solid #CCC;
font-family: Arial, Helvetica, sans-serif;
}
.tableizer-table td {
padding: 4px;
margin: 3px;
border: 1px solid #CCC;
}
.tableizer-table th {
background-color: #104E8B;
color: #FFF;
font-weight: bold;
}
</style>
<table class="tableizer-table">
<thead><tr class="tableizer-firstrow"><th>cert</th><th>docket</th><th>fed_rssd</th><th>rssdhcr</th><th>name</th><th>city</th><th>stalp</th><th>zip</th><th>repdte</th><th>rundate</th><th>bkclass</th><th>address</th><th>namehcr</th><th>offdom</th><th>offfor</th><th>stmult</th><th>specgrp</th><th>subchaps</th><th>county</th><th>cbsa_metro</th><th>cbsa_metro_name</th><th>estymd</th><th>insdate</th><th>effdate</th><th>mutual</th><th>parcert</th><th>trust</th><th>regagnt</th><th>insagnt1</th><th>fdicdbs</th><th>fdicsupv</th><th>fldoff</th><th>fed</th><th>occdist</th><th>otsregnm</th><th>inst.webaddr</th><th>P3GTYPAR</th><th>P3GTY</th><th>P3GTYGNM</th><th>P9GTYPAR</th><th>P9GTY</th><th>P9GTYGNM</th><th>NAGTYPAR</th><th>NAGTY</th><th>NAGTYGNM</th></tr></thead><tbody>
<tr><td>16419</td><td>0</td><td>419255</td><td>1055780</td><td>1st Bank & Trust</td><td>Broken Bow</td><td>OK</td><td>74728</td><td>12/31/1992</td><td>8/4/2016</td><td>NM</td><td>210 North Broadway</td><td>SOUTHEASTERN BANCSHARES, INC.</td><td>3</td><td>0</td><td>0</td><td>8</td><td>0</td><td>Mccurtain</td><td> </td><td> </td><td>5/6/1946</td><td>5/6/1946</td><td>10/13/1997</td><td>Stock</td><td>0</td><td>1</td><td>FDIC</td><td>BIF</td><td>Dallas</td><td>DALLAS</td><td>Tulsa</td><td>Kansas City</td><td>Southern</td><td>West</td><td>http://www/1stbankandtrust.com</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td></td></tr>
</tbody></table>
当我使用此命令写入表时
\COPY all_reports_19921231_past_due_and_nonaccrual_loans_wholly_or_pa FROM 'C:\Data\04-09-2018-upload\FDIC\All_Reports_19921231\All_Reports_19921231_- Past Due and Nonaccrual Loans Wholly or Partially US Gvmt Guaranteed - Copy.csv' DELIMITER ',' CSV HEADER;
我收到这个错误
CONTEXT: COPY all_reports_19921231_past_due_and_nonaccrual_loans_wholly_or_pa, line 4, column cbsa_metro: ""
在尝试复制到 Postgres 之前,我尝试在 Excel 中用单词“NULL”(和“null”)替换空单元格,但我仍然遇到同样的错误。
表的模式没有说 NOT NULL——所以这不是问题。(有问题的列,例如:“cbsa_metro numeric”)
用数字数据类型列可以处理的空值替换空单元格的最佳方法是什么?
解决方案
推荐阅读
- apple-push-notifications - 如何将密钥库证书绑定到 apns 通知中心
- flask - 是什么导致我尝试创建用户模型和相应表时出现“未提供密码”错误?
- c++ - 尽管参数正确,但简单的字符串替换给出错误
- java - 直接访问泛型数组不起作用
- symfony - 使用 Sonata 和 FosUser 进行安全登录
- typescript - 在打字稿中获取类的键
- html - 如何用 BS 刮掉这段 HTML
- javascript - 用是的反应在formik中重定向?
- java - 为什么我在分页的 recyclerview 上收到 ANR(应用程序无响应)?
- django - “必须提供查询字符串。” 石墨烯-蟒蛇