Python处理CSV调用replace报错 如何删除CSV文件内所有逗号
报错原因
csv.reader 遍历得到的row是列表类型,每个元素对应CSV一行内的单个单元格内容,列表本身没有replace方法,只有字符串类型支持该操作,因此触发属性错误。
修复代码
你的核心需求是删除CSV文件内的所有逗号,可根据后续处理逻辑二选一:
- 需保留行内单元格拆分结构,仅删除每个单元格内部的逗号:
with open("G:/Downloads/whatever - Sheet1 (1).csv", 'r') as read_obj: csv_reader = reader(read_obj) header = next(csv_reader) # 可选:同步删除表头中的逗号 header = [cell.replace(",", "") for cell in header] if header is not None: for row in csv_reader: # 遍历处理行内每个单元格 cleaned_row = [cell.replace(",", "") for cell in row] docs = list(nlp.pipe(cleaned_row))
- 不需要保留单元格结构,要把整行内容合并为单个字符串再删除所有逗号:
with open("G:/Downloads/whatever - Sheet1 (1).csv", 'r') as read_obj: csv_reader = reader(read_obj) header = next(csv_reader) if header is not None: for row in csv_reader: # 拼接所有单元格为字符串后统一删除逗号 full_row_content = "".join(row).replace(",", "") docs = list(nlp.pipe([full_row_content]))
小提示:原有代码中的
header != None建议替换为header is not None,这是Python判断空值的规范写法。
内容的提问来源于stack exchange,提问作者bellatrix
相关产品推荐
相关产品推荐

