如何修复AttributeError:“list”对象在尝试替换csv读取中的某些文本时没有属性“replace”

2024-10-04 03:17:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用一些数据字典替换csv read中的文本,但是我遇到了一个错误。在

import csv

dataset = open('../sentimenprabowo.csv', 'r')
sentiment = csv.reader(dataset, delimiter=',')

newDok = open('../sentimenprabowopreproses.csv', 'w')
save = csv.writer(newDok)

data= open("convertcsv.json", "r")
APPOSTOPHES=data.read()

new_sentence = []
for row in sentiment:     
    print(row)
    for candidate_replacement in APPOSTOPHES:                
        if candidate_replacement in row:            
            #print(candidate_replacement)
            row = row.replace(candidate_replacement, APPOSTOPHES[candidate_replacement])
    new_sentence.append(row)
rfrm = "".join(new_sentence)
print(rfrm)

我希望这可以取代所有的文本在我的csv谁相同的文本与数据字典(更正拼写)。在

但结果是错误的:

^{pr2}$

请帮帮我。。。在

这是我的转换csv.json文件:

{"@":"di","ababil":"abg labil","abis":"habis","acc":"accord","ad":"ada","adlah":"adalah"}

Tags: csv数据in文本newread字典错误
2条回答

您可以通过列表比较来完成此操作

用这个

for r in range(len(row)):
    if row[r] == candidate_replacement:
        row[r] = APPOSTOPHES[candidate_replacement]

因为错误说明您的行是一个列表,没有replace方法。您可以根据需要将其转换为字符串替换,然后再次转换为数组:

row = str(row).replace(candidate_replacement, APPOSTOPHES[candidate_replacement]).split(',')

相关问题 更多 >