【问题标题】:How to Convert a Comma-Separated File to Pipe-Delimited File in Powershell?如何在 Powershell 中将逗号分隔文件转换为管道分隔文件?
【发布时间】: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 并将连续分隔符视为一个。
  • Commas within CSV Data的可能重复

标签: csv powershell-3.0


【解决方案1】:

取自Dealing with commas in a CSV file

使用" 包装包含逗号的数据。

例如 Server000,"Microsoft(R) Windows(R) Server 2003, Enterprise Edition"

【讨论】:

    猜你喜欢
    • 2020-02-02
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2013-11-14
    相关资源
    最近更新 更多