Powershell将xml批处理转换为csv

时间:2018-10-05 15:32:53

标签: xml powershell csv

我仅需要Powershell即可完成此任务,并且只有在Stata中进行编码的经验-感激不尽。

我有大量的xml文件,每个文件都是调查中的一条记录,因此它具有一个人的变量名和响应。

我需要将那些文件转换为csv文件。通过阅读其他文章,我了解到我需要遍历文件,但是我不知道如何告诉Powershell我要导出调查数据,而不是文件属性。

我尝试过这样的事情:

$items = Get-ChildItem C:\Users\fs59\Desktop\temp\* -Include *.xml
foreach ($item in $items) {
    $xml = [XML](Get-Content $item) 
    $xml | Export-Csv -Path C:\Users\fs59\Desktop\temp\myoutput.csv -NoTypeInformation -Append 
} 

这运行时没有错误,但是输出不包含调查数据。

更新:嗨,我设法将结果发送到csv,但是输出是一长列。有没有一种方法可以将输出分成几行,每个xml文件一个?

# Get all XML files
$items = Get-ChildItem C:\Users\user\Desktop\test\* -Include *.xml

# Loop over them and append them to the document
foreach ($item in $items) {
    $inputFile = [XML](Get-Content $item) #load xml document    

#export xml as csv
$inputFile.TT_client_survey_2018_v1.ChildNodes | Export-Csv -Path    C:\Users\user\Desktop\test\myoutput12.csv -NoTypeInformation -Append 
}

0 个答案:

没有答案