【发布时间】:2012-12-16 13:48:52
【问题描述】:
我正在将 CSV 文件批量插入 SQL 服务器,但在检查结果后,我意识到 CSV 文件存在问题。 CSV 文件中名字列的内容以逗号分隔,因此被移至下一列,从而导致多米诺骨牌效应。(例如,假设列名是名字、编号和地址。第一个名称列有一个名称称为 James, Bond。由于逗号,它被移动到 Number 逗号,因此 Number 列的假定数据也被移动到 address 列。 有没有人对我如何在 SQL Server 中纠正这个问题有任何想法。
【问题讨论】:
-
Thanx Pondlife...这正是我面临的问题。但是,由于我批量插入的 excel 文件来自其他地方,而且其中有很多我无法在 excel 文件中手动检查和纠正它,我该如何绕过它来为我的存储过程工作。
-
您有 CSV 文件或 Excel 电子表格吗?如果没有有效的列分隔符,任何程序都没有简单的方法来拆分 CSV 数据。如果您知道每列中预期的数据类型,也许您可以编写一个脚本,例如如果第 2 列始终为整数,则
Bond, James, 2必须拆分为|Bond, James|2而不是Bond|James|2。但是如果前两列的数据是Bond, James, Blofeld, Ernst,那么你就遇到了真正的问题。如果数据在 Excel 中,那么它已经结构化,因此您可以使用 SSIS 或其他工具来获取数据。 -
是的,它是一个 CSV 文件。我知道每列需要哪些数据类型。我目前正在尝试基于分隔符编写一个 while 循环...
-
最好和最简单的解决方案是修复源数据,所以我还想知道生成 CSV 文件的任何人或任何东西是否可以使用不同的分隔符来完成。
标签: sql-server csv