我是一名学生,目前正在学习PowerShell。我想通过编写各种脚本来测试我学到的东西。
我想记录我的购买,然后能够分析该数据。
我认为创建一个CSV文件是最好的,到目前为止我已经用标题创建了它。
$csvcontent = @()
$csvcontent+=New-Object PSObject -Property @{Date="";Place_of_Purchase="";Item_Purchased="";Amount_Paid="";Taxes_Paid_on_Item="";Purchase_Method=""}
$csvcontent | Export-Csv $HOME\Desktop\ReceiptData.csv -NoTypeInformation
然后我将其导入,然后我的问题是如何使用Read-Host
不断向每个标题添加行?我环顾四周,似乎大多数人静静地添加了另一行代码来添加数据。
最后,我是否应该在Powershell中写这篇文章,因为我正在学习Python,我认为这会让它更具适应性?
感谢你们的时间,并注意我是菜鸟!
答案 0 :(得分:1)
这应该可以解决问题:
function Enter-Purchase{
$CSVContent =New-Object PSObject -Property @{Date="";Place_of_Purchase="";Item_Purchased="";Amount_Paid="";Taxes_Paid_on_Item="";Purchase_Method=""}
$CSVContent | Get-Member |
Where-Object {$_.MemberType -eq 'NoteProperty'} |
Select-Object Name |
ForEach-Object {$CSVContent.$($_.name) = Read-host "Enter $($_.name)"}
$CSVContent | export-csv ReceiptData.csv -Append -NoTypeInformation
}
Enter-Purchase
这将提示用户输入$CVSContent
的每个音符属性并将其附加到ReceiptData.csv