我仅需要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
}