我正在尝试使用一些常量字符串值替换.csv行中的数字。但是,代码以某种方式重写了csv的全部内容,但并没有取代它。
我尝试使用定界符,但是没有用。
newfile = pd.read_csv(file,delimiter = ',')
for B in Testnumber:
files=newfile.replace(to_replace = B,value ="BlacklistedNumber")
files.to_csv(file,index=False)
预期结果是TestNumber列表中的数字将替换为BlaclistedNumber。 Sample CSV Content
答案 0 :(得分:0)
您的逻辑有问题。对于每个B,文件都是从newfile重新生成的,因此以前所做的任何更改都会被覆盖。更好的解决方案是:
newfile = pd.read_csv(file, delimiter=',')
for B in Testnumber:
newfile = newfile.replace(to_replace=B, value="BlacklistedNumber")
newfile.to_csv(file, index=False)
答案 1 :(得分:0)
将其转换为字符串,然后传递给replace regex = True,也使用此代码代替for循环
newfile = pd.read_csv(file,delimiter = ',')
files=newfile.astype(str).replace(to_replace = Testnumber,value =["BlacklistedNumber"]*len(Testnumber),regex=True)
files.to_csv(file,index=False)
它将用字符串BlacklistedNumber替换列表Testnumber中的所有数字