我应该如何使用C#将csv文件传输到数据库?

时间:2013-11-22 19:21:16

标签: c# mysql csv

我有一个特别困难的任务,我想弄清楚,但似乎无法包裹我。我的任务是创建一个程序,将数据从CSV文件传输到数据库(mysql)。我已经研究并找到并理解了load data infile这样做的方法,但是,每个CSV文件可能与我的数据库表不同,例如我表中的数据字段可能是Land Price, Parcel no, and Locaton来保存简单。现在要上传的文件可能如下所示。

CSV文件示例:

enter image description here

示例CSV文件2: enter image description here

正如您所看到的那样,pronlem位于csv文件2中,因为这些字段不仅乱序,而且字段的名称与我的表的字段不匹配。那么我该如何解决将CSV文件中的正确数据映射到数据库表中正确字段的问题呢?我只是在寻找想法和伪代码类型的答案。我最初的想法是,我必须为每个csv文件创建一个新表,但我不确定。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果你想谷歌,你正在处理的根本问题是数据转换。作为程序员,这是一项常见的任务。

有两种常规方法可以做到这一点: 1 - 您可以坚持使用loaddatainfile,为每个CSV创建一个新表,然后编写一个SQL语句来获取这些新行,并将它们放入现有表中(这就是变换的一部分)。您将加载数据然后使用INSERT。 。 。 SELECT语句类型。

2 - 第二种方法是编写自定义C#程序。有许多C#和CSV库可供使用,您将获得包含源CSV的所有部分的数组。从那里,您将制作使用与每个表字段对应的数组的CSV部分的SQL语句。