gpt4 book ai didi

excel - 使用批处理文件从多个 csv 文件中删除特殊字符

转载 作者:行者123 更新时间:2023-12-04 14:13:21 26 4
gpt4 key购买 nike

我想使用批处理文件删除 csv 文件中的所有特殊字符。我的 csv 文件只有一列要在 google 中输入的关键字

例如
1.电子商务
2.dentist墨尔本CBD?
3.dentists 墨尔本 %
4.墨尔本最好的牙医!

有时我也可以有阿拉伯文/汉字等等。

在这里,当我将这些文件添加到 GoogleAdwords-Keyword Planner 时,它向我显示一个错误,在忽略错误时我得到了错误的错误。关键字的点击次数并避免错误,我需要从我的 csv 文件中删除所有特殊字符。

我有数百个 csv 文件,并希望将更新的(没有特殊字符)文件保存到现有文件中。

我试过了

@echo off
set source_folder=C:\Users\Username\Documents\iMacros\Datasources\a
set target_folder=C:\Users\Username\Documents\iMacros\Datasources\keyfords-csv-file
if not exist %target_folder% mkdir %target_folder%

for /f %%A in ('dir /b %source_folder%\*.csv') do (
for /f "skip=1 tokens=1,2* delims=," %%B in (%source_folder%\%%A) do (
echo %%B>>%target_folder%\%%A
)
)

timeout /t 20

但最终删除了 csv 文件中的所有记录。

无论如何我可以

1. 仅接受 A-Z、a-z 和 0-9 的标准字符。

2.或者删除我可以在该字符串中放置特殊字符的所有字符串。喜欢
string1="?%!@#$^&*<>"

3.或者无论如何我可以在csv文件中提到只接受标准英文字符
有没有办法使用批处理文件或任何框架来实现这一点?

谢谢

最佳答案

我认为这在 Powershell 中要干净得多。

$sourceFolder = "C:\Users\Username\Documents\iMacros\Datasources\a"
$targetFolder = "C:\Users\Username\Documents\iMacros\Datasources\keyfords-csv-file"
MkDir $targetFolder -ErrorAction Ignore

$fileList = Dir $sourceFolder -Filter *.csv

ForEach($file in $fileList)
{
$file | Get-Content | %{$_ -replace '[^\w\s,\"\.]',''} | Set-Content -Path "$targetFolder\$file"
}

我从源文件夹中取出每个文件,获取内容,替换任何不需要的字符,然后将其保存到另一个文件中。我在中间使用了一个小正则表达式 '[^\w\s,\"\.]'使用替换命令。胡萝卜 ^是不匹配运算符。所以任何不匹配单词字符的东西 \w , 空格字符 \s , 昏迷 , , 双引号 \" , 或句点 \.
有人可能会为您的需求找到更好的正则表达式,但我认为您明白了。

关于excel - 使用批处理文件从多个 csv 文件中删除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com