【问题标题】:How can I convert a csv file to lowercase or uppercase maintaining it's structure using powershell?如何使用 powershell 将 csv 文件转换为小写或大写以保持其结构?
【发布时间】:2015-01-30 17:33:49
【问题描述】:

我有一个 CSV 文件,其中的内容需要全部转换为小写

我已经尝试了下面的代码,但它没有维护 CSV 结构。

(Get-Content C:\_Scratch\export.csv).ToLower() | Out-File C:\_scratch\export.csv

$Init = Import-Csv C:\_Scratch\export.csv

我还有其他选择吗?

【问题讨论】:

    标签: powershell csv uppercase lowercase


    【解决方案1】:

    Get-Content 会给你字符串数组。添加-Raw 开关以将其作为单个字符串读入,.toupper().tolower() 字符串方法应该可以处理它。

    (Get-Content C:\_Scratch\export.csv -Raw).ToLower() | Out-File C:\_scratch\export.csv
    

    【讨论】:

      【解决方案2】:
      $TempContentArray = $NULL
      $TempContent = $NULL
      $TempContent = Get-Content C:\_Scratch\import.csv
      Foreach ($Line in $TempContent)
      {
          $TempContentArray += $Line.ToUpper()
      }
      $TempContentArray | C:\_scratch\export.csv
      $Init = Import-Csv C:\_Scratch\export.csv
      

      【讨论】:

      • 这不会保留行尾,因此所有内容都连接在一行上。在 ForEach 中建议您只需使用 add-content 将行写入新文件。那么就不需要 $TempContentArray 变量了。
      猜你喜欢
      • 2014-05-17
      • 1970-01-01
      • 2011-07-21
      • 2010-10-09
      • 2012-11-27
      • 1970-01-01
      • 2014-11-07
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多