如何将文本文件转换为列格式记录(如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
+0
谢谢大家..凯夫马尔我不能把双引号和逗号手动我有几千行请建议另一个代码。 –
+0
第一行是测试数据并被注释掉。第二行将读取您的文件。代码在需要的地方放入双引号和逗号。没有关于它的手册。 – 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它对我很有用。 –