【发布时间】:2021-05-25 00:12:29
【问题描述】:
所以我要做的就是导入一个包含大量购买的 excel 文件,然后选择其中包含“walmart”、“mcdonalds”和“burger king”字样的所有行。然后将结果导出回 excel 文件。我已经安装了excel模块。我尝试了很多东西,但我通常只会在导出文件中出现乱码。
我的excel文件有4列,“名称”列是B列。但是列没有名称,第一行是第一次购买。
请帮忙,谢谢。
编辑: 下面是一个例子(分号表示下一个单元格):
- ; 2021 年 2 月 1 日;从 blabla 购买商品; -25 美元; 400 美元(
- ; 2021 年 2 月 5 日;在麦当劳购买; -10 美元; 390 美元
- ; 2021 年 2 月 7 日;从随机公司购买; -30 美元; 360 美元
- ; 2021 年 2 月 7 日;从 X 公司购买; -15 美元; 345 美元
- ; 2021 年 2 月 9 日;从汉堡王购买; -7 美元;第338章
我想删除不包含我想要的单词的每一行/行,例如 mcdonalds 和 burger king, 并将结果导出到另一个 excel 文件,以便我可以找到这些购买的总和。
我不知道接下来要尝试什么,这是我学习 powershell 的第 4 周,我尝试过类似的东西
(import-excel "C:\purchases.xlsx") | select-string ".*chinese*.",
".*burgerking*.", ".*mcdonalds*." | export-excel "C:\outfile.xlsx"
但这显然是不正确的。 我会尝试一些 user19702 提到的东西,谢谢你的帮助。
编辑 2:这适用于在 powershell 中过滤文件,但导出文件不起作用,输出文件为空白。这是代码和输出:
PS C:\Windows\System32> $purchase = Import-Excel
"C:\Users\sonde\Desktop\personlig-prosjekter\pengebruk\visakort-3mnd.xlsx" -
NoHeader | % { if($_ -match "visa") {write-host $_}}
@{P1=02.02.2021 00:00:00; P2=VISA VARE XXXXXXXXXX 01.02 0,00
GOOGLE*YOUTUBE SUPER\INTERNET Kurs; P3=-50; P4=5725,16; P5=; P6=; P7=}
@{P1=02.02.2021 00:00:00; P2=VISA VARE XXXXXXXXXXX 01.02 0,00 GOOGLE
*YouTube Super\g.co/helppay# Kurs; P3=-100; P4=10360,93; P5=; P6=; P7=}
@{P1=01.02.2021 00:00:00; P2=VISA VARE XXXXXXXXX 30.01 0,00 GOOGLE
*Google Play Ap\g.co/helppay Kurs; P3=-29; P4=10460,93; P5=; P6=; P7=}
【问题讨论】:
-
请显示您的代码,最好是一些经过净化的示例数据行,以便我们能够重现您的情况。请记住,我们看不到您的屏幕,也无法读懂您的想法。 ;-)(如果您发布代码或示例数据,请将它们格式化为代码。)
标签: excel string powershell filtering