大熊猫的替换功能具有相同的价值

时间:2019-09-04 18:26:34

标签: python pandas csv

我正在尝试使用一些常量字符串值替换.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

2 个答案:

答案 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中的所有数字