我对一些来自软件的 CSV 文件有问题,我想用它来导入 PostgreSQL(从 CSV 复制功能)。问题是最后一些列像这样丢失了(标题字母,值数字,TAB 分隔符 _):
a_b_c_d
1_2_3_4
5_6_7 <- last column missing
8_9_0_1
2_6_7 <- last column missing
COPY in_my_table FROM file.csv 结果是: 错误:缺少“d”列的数据
用于导入的正确文件示例:
a_b_c_d
1_2_3_4
5_6_7_ <- null column but not missing
8_9_0_1
2_6_7_ <- null column but not missing
我的问题:bash/linux shell 中是否有一些命令可以添加 TAB 定界符以制作包含所有列的正确/完整/填充的 csv 文件。
感谢您的帮助。
最佳答案
好的,事实上我发现了这个:
awk -F'\t' -v OFS='\t' 'NF=50' input.csv > output.csv
其中 50 是 TAB + 1 的数量。
关于linux - 如何填充 CSV 文件缺失的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43636213/