合并CSV附加标题

时间:2011-09-13 16:27:50

标签: mysql sql-server excel csv append

我有许多CSV文件,包含数百列和大约50,000行(在Excel中打开时)。列标题几乎相同,但有些列标题可能会因CSV文件而异,如下例所示: -

CSV1

姓名姓氏DOB

John Smith 31/01/1989

CSV2

姓名年龄姓氏地址DOB

Paul 29 Jones 123 Smith St 30/12/1981

CSV3

姓名姓氏地址电话

Mick Jones 123 Paul St 0123456

有什么方法可以将所有这些合并到一个大的CSV文件中,附加标题以便在一个主CSV中,我会有标题“姓名,姓氏,DOB,年龄,地址,电话”,例如然后来自每个CSV的相应条目落在它们各自的列标题内。我想这样做的原因是然后将信息填充到一个大的MySql / Sql Server数据库表中,因此在导入之前最初将它们作为一个大CSV显示起来更容易。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

将它们导入三个临时表,然后使用名称姓氏和DOB上的连接将它们合并到一个表中。否则数据将全部混淆。

答案 1 :(得分:0)

手动方法(忍受我,只是想一想算法):

  1. 生成列的最终列表,其中包含所有CSV中的所有可能标头。
  2. 一次打开​​一个电子表格。对于每个电子表格:
  3. 点击并拖动标题并插入缺失的列,使它们都匹配#1
  4. 中的列表
  5. 保存文件,然后重复回#2
  6. 将所有电子表格合并到一个电子表格中。
  7. 导入。
  8. 如果要自动执行此操作,您将采取大致相同的步骤。您需要一种方法来确定所有列的可能性,然后将CSV放在正确的格式中并以电子表格/ CSV格式组合它们,或者将它们作为一组临时表导入,并插入INSERT ... SELECT安排他们所属的列。

    您可以使用哪些语言/技术进行自动化? 。净? Java的? PHP?这个过程多久发生一次,以及它的自动化程度如何?它是每日流程,还是每周流程,还是只会发生一次?大概有多少个电子表格?