我正在從SharePoint網站下載CSV。它附帶一個.csv
文件擴展名。保存爲「正確的」csv /從CSV中刪除引號,除了逗號存在的位置
當我在記事本中打開它檢查文件的內容,我看到一個類似於此示例行數據:
"TITLE",OFFICE CODE,="","CUSTOMER'S NAME",ACCOUNT
我想要的數據是這樣的:
TITLE,OFFICE CODE,,"CUSTOMER'S NAME",ACCOUNT
解決此問題的一種方法是手動。當我在Excel中打開文件並保存它(不會改變任何內容)時,它會提示我以下內容:fileOrig.csv may contain features that are not compatible with CSV (Comma delimited). Do you want to keep the workbook in this format?
當我保存它,然後在記事本中檢查它時,數據將根據我希望的樣子進行格式化。
有沒有一種快速的方法來保存原始CSV 與PowerShell?
如果沒有快速方法使用PowerShell重新保存文件,我想使用PowerShell來解析它。
這些都是解析規則我想介紹:
- 取下電池密封雙引號不包含
,
焦炭 - 取出
=
焦炭
我試着寫一個測試只查看可能包含,
字符的列的腳本。它應該找到不包含,
字符的單元格,並刪除封裝文本的雙引號。這是行不通的,因爲我覺得它扔在Import-Csv
$source = 'I:\dir\fileOrig.csv'
$dest = 'I:\dir\fileStaging.csv'
$dest2 = 'I:\dir\fileFinal.csv'
get-content $source |
select -Skip 1 |
set-content "$file-temp"
move "$file-temp" $dest -Force
$testcsv = Import-Csv $dest
foreach($test in $testcsv)
{
#Write-Host $test."CUSTOMER NAME"
if($test."CUSTOMER NAME" -NotLike "*,*") {
$test."CUSTOMER NAME" -replace '"', ''
}
}
$testcsv | Export-Csv -path $dest2 -Force
的雙引號是否有人可以幫助我要麼執行上面的邏輯,或者如果你知道一個更好的方式,將文件保存爲一個適當的CSV,你能讓我知道嗎?
工程就像一個魅力。我粘貼到Access VBA代碼。比你非常! –