簡體   English   中英

無法使用python從列表元素中刪除雙引號

[英]Cannot remove double quotes from a list element using python

我試圖通過使用strip或replace從一些列表元素中刪除一些多余的雙引號,但它們不會被刪除。 我正在使用以下

with open(source_initial2, 'r', encoding='ISO-8859-1',newline='') as csvf:
        reader = csv.reader(csvf, delimiter=";")
        for row in reader:
            for i in range(len(row)):
                if "\"" in row[i]:
                    row[i].replace('\"','')  
            igecontents.append(row)

return igecontents

csv中的行如下所示:

DCA.P/C.06190;7613329007877;WENGER, COBALT 16 COMPUTER BACKPACK;" BLUE (R)""";35,92;Yes
DCA.P/C.06191;7613329007914;WENGER, PILLAR 16 COMPUTER BACKPACK;" BLACK/GRAY (R)""";35,92;No

這工作正常:

import csv
with open('names.csv', 'r') as csvf:
    output = []
    for row in csvf.readlines():
        output.append(row.replace('\"', ''))

with open('outfile','a') as f:
    f.writelines(output)

超出檔次的內容:

DCA.P/C.06190;7613329007877;WENGER, COBALT 16 COMPUTER BACKPACK; BLUE (R);35,92;Yes
DCA.P/C.06191;7613329007914;WENGER, PILLAR 16 COMPUTER BACKPACK; BLACK/GRAY (R);35,92;No

您的代碼中有一些多余的多余部分,例如檢查引號是否在行中。...也不需要讀取器對象-您已經使用open(...)打開了文件。 “)作為csvf語句。

python中str對象的replace函數返回一個新的str,並且不修改調用它的對象,因此您應該做的是

row[i] = row[i].replace('\"','')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM