【发布时间】:2015-04-21 09:57:41
【问题描述】:
我正在下载逗号分隔的 CSV 文件。我遇到的问题是逗号将我的导入搞砸了到数据库表(SQL Server)中。例如,我有一个名为 hotel_name 的标题行,但其中一些名称如下所示:
HOTEL_NAME
hilton
cambridge,the
问题是酒店名称中包含逗号的字段将移动到相邻列,像这样我想知道从 CSV 转换为管道分隔格式是否可行。
我遇到的问题是我不确定如何开始。我尝试按照 Powershell 文档进行操作,但遇到了基本错误。我认为这是因为我是 Powershell 的新手并且不了解某些东西。有人可以发布如何将逗号分隔文件更改为管道分隔文件的脚本吗?
对不起,如果这令人困惑,我发现 StackOverflow 上的格式有点疯狂。
【问题讨论】:
-
看来 powershell 对你没有帮助。在 CSV 中,您没有一些元数据来将条目分组。保持分配给特定标题的条目是逗号。 powershell 也是如此:它能够识别和解析您的数据,因为它假定逗号分隔分配给特定标头的特定条目。如果您开始用管道替换逗号,您将遇到同样的问题。只是现在,您示例中的名称将是
cambridge|the。 -
PowerShell 可以读取或
IMPORT-CSV然后对该数据执行操作。例如,您可以使用正则表达式查找字符,然后根据需要跳过并最后替换为另一个字符。更多阅读:stackoverflow.com/questions/769621/… 或者您可以检查 Excel 是否可以导入 CSV 并将连续分隔符视为一个。
标签: csv powershell-3.0