在此先感謝... 我有一個文本文件,其中包含由管道'|'分隔的SQL記錄。 我希望每個記錄都在單獨的列中。 例如文本文件包含上面的數據: -如何將文本文件轉換爲列格式記錄(如excel或csv)
Name|address|status
John|USA|A1, active
Bob|UK|A3, active
Merry|NYC|A2, active
我想把它轉換成使用批處理腳本到Excel。我不想使用CSV文件,因爲有時記錄(列)包含用逗號分隔的值。
在此先感謝... 我有一個文本文件,其中包含由管道'|'分隔的SQL記錄。 我希望每個記錄都在單獨的列中。 例如文本文件包含上面的數據: -如何將文本文件轉換爲列格式記錄(如excel或csv)
Name|address|status
John|USA|A1, active
Bob|UK|A3, active
Merry|NYC|A2, active
我想把它轉換成使用批處理腳本到Excel。我不想使用CSV文件,因爲有時記錄(列)包含用逗號分隔的值。
下面是我將如何在PowerShell中處理這個問題。獲取數據,在管道上拆分,將該列包裝在引號中,將其作爲csv加入,然後將其保存到文件中。通過引用數據引用,即使數據中有昏迷,excel也會正確讀取csv。
# $data = @("Name|address|status","John|USA|A1, active","Bob|UK|A3, active","Merry|NYC|A2, active")
$data = Get-Content data.txt
$results = @()
foreach($line in $data)
{
# Split on pipe
$columns = $line -split '\|'
# Wrap each column in quotes
$columns = $columns | %{'"{0}"' -f $_}
# Rejoin the line
$results += $columns -join ','
}
# Save to a file
$results | Set-Content test2.csv
謝謝大家..凱夫馬爾我不能把雙引號和逗號手動我有幾千行請建議另一個代碼。 –
第一行是測試數據並被註釋掉。第二行將讀取您的文件。代碼在需要的地方放入雙引號和逗號。沒有關於它的手冊。 – kevmar
而是一批轉換:選擇在Excel中字段分隔符(一個或多個)_import_對話框有... – JosefZ
閱讀[導入或導出文本(.txt或.csv)文件(https://support.office .com/en-us/article/Import-or-export-text-txt-or-csv-files-5250ac4c-663c-47ce-937b-339e391393ba)並使用[Text Import Wizard](https://support.office .com/en-us/article/Text-Import-Wizard-c5b02af6-fda1-4440-899f-f78bafe41857)。 – Mofi
感謝Mofi它對我很有用。 –