如何上传多个巨大的CSV文件并将其合并?

时间:2019-06-15 14:38:50

标签: postgresql

我需要将多个巨大的CSV文件(〜8-9GB)上传到一个表中。这些CSV文件中的行可能具有相同的ID,在这种情况下,我需要使用当前上传的CSV文件中的非空数据覆盖现有数据。 这是一个示例:

CSV#1:

id|col1|col2|col3|col4
1 |1   |1   |    |
2 |    |1   |1   |

CSV#2:

id|col1|col2|col3|col4
2 |2   |    |2   |2
3 |2   |    |    |
4 |    |2   |    |2

结果应该是:

id|col1|col2|col3|col4
1 |1   |1   |    |
2 |2   |1   |2   |2
3 |2   |    |    |
4 |    |2   |    |2

和CSV#3:

id|col1|col2|col3|col4
2 |3   |    |    |
4 |    |3   |3   |

结果应该是:

id|col1|col2|col3|col4
1 |1   |1   |    |
2 |3   |1   |2   |2
3 |2   |    |    |
4 |    |3   |3   |2

我知道我可以使用COPY有效地上传数据,但是我不知道如何处理此类冲突。

0 个答案:

没有答案