【发布时间】:2022-01-16 04:36:29
【问题描述】:
CSV 文件中的 Powershell 更改字段
问题:当从我的银行转账下载交易时,只说明“从支票转账”和“转账到支票”我正在尝试向收款人字段添加一些额外信息,以便我的财务软件将确定这两项交易一存一提实际上是一笔转账交易。 示例
- 将收款人字段从“Transfer to Checking”更改为“Transfer to Checking 8869”
- 将收款人字段从“转账自”更改为“转账自支票 8828”
我的Main.csv:
DATE, CATEGORY, AMOUNT, PAYEE, ACCOUNT#
10/19/2021, Transfer Internal Account Transfer, 34.04, Transfer From Checking, 5197
10/19/2021, Food and Drink Restaurants Fast Food, -15.09, Sonic, 7029
10/21/2021, Transfer Payroll, 700.2, ACH Transaction, 8828
10/21/2021, Food and Drink, -3, POS Debit VENDING, 8828
10/21/2021, Shops Supermarkets and Groceries, -4.2, Walmart, 8828
10/22/2021, Transfer Payroll, 25, PAYCHECK, 3316
10/22/2021, Transfer Payroll, 100, PAYCHECK, 3720
10/22/2021, Transfer Internal Account Transfer, -50, Transfer To Checking, 5197
10/22/2021, Transfer Internal Account Transfer, 25, Transfer From Checking, 8185
10/22/2021, Transfer Internal Account Transfer, -25, Transfer To Checking, 8828
10/22/2021, Transfer Internal Account Transfer, -25, Transfer To Checking, 8828
10/22/2021, Transfer Internal Account Transfer, -325, Transfer To Checking, 8828
10/22/2021, Shops Convenience Stores, -4.05, Circle K, 8869
10/22/2021, Transfer Internal Account Transfer, 325, Transfer From Checking, 8869
10/22/2021, Transfer Internal Account Transfer, 25, Transfer From Checking, 9116
10/24/2021, Travel Gas Stations, -7.01, POS Debit SHELL/SHELL, 8869
这是我最初的尝试,我对 Powershell 还很陌生。
$Table1 = Import-csv -path $COMBO_CSV -Delimiter "," | sort date -Descending
$Table2 = Import-csv -path $COMBO_CSV -Delimiter "," | sort date -Descending | Where-Object {
($_.amount -like "-*") -and
($_.payee -like "Transfer to*") }
$transfer_to=foreach ($t1 in $Table1) {
:outer
Foreach($t2 in $Table2) {
If(($t1.date -eq $t2.date) -and (-$t1.amount -eq $t2.amount)-and (($t1.payee -like "Transfer from*") -and ($t2.payee -like "Transfer to*"))) {
$t2.payee = "Transfer to $acctno"
$t2
break :outer
}
}
}
【问题讨论】:
-
替换的关键字总是“从检查8828”和“到检查8869”?
标签: powershell csv replace