Error-Handling

哪些工具可用於在批量插入之前清理 CSV 文件?

  • June 28, 2018

當在數據元素中遇到列分隔符時,您知道哪些工具和程式庫可以幫助加速 CSV 手動更正過程?

我目前無法更正源 CSV 文件的生成,例如添加引號分隔符。始終需要手動驗證以證明正確進行了更正。

在我的情況下,我目前需要在 Win32 上執行一個可移植的解決方案(即不需要管理權限),並且開源會更好。任何語言都是可能的。目標是具有非常有限權限的 SQL Server 2008 實例(不允許 BULK INSERT、OPEN ROWSET 等)。DTS/SSIS 也不可用,Visual Studio 也不可用。目前的方法是打開 Excel,過濾最後一列的非空白,更正那些過濾掉的行,然後通過 bcp 或 MS Access 導出到 SQL Server。

謝謝。

我們實現了一個非常簡單的 C# 命令行程序,它在批量插入之前充當預解析器。它執行得非常快,您可以使用免費的 Visual Studio Express(或者甚至只使用編譯器,我想)來創建一些東西。

需要明確的是,您可能只需要 Visual Studio 來創建程序(您可以在沒有 Visual Studio 的情況下執行此操作,但您不需要這樣做)。要在目標電腦上執行 .exe,要求要低得多 - 您只需複制 .exe,它將使用已經存在的 .NET Framework。如果您沒有做任何花哨的事情並針對框架的足夠低版本,您可能不需要向客戶端添加任何內容。最壞的情況是 .NET Framework 更新(僅當您針對較新版本的框架或執行 XP RTM 或更舊版本的客戶端非常過時)。

我最近遇到了類似的問題,並在 C# 中編寫了一個簡單的命令行執行檔,用於替換文件中的文本字元串。在我的情況下,文本中的逗號總是後跟一個空格,但列分隔符逗號不是這樣,通過使用 xp_cmdshell 將逗號空格組合替換為在呼叫批量插入之前文件被“清理”的空格。

引用自:https://dba.stackexchange.com/questions/18261