我正在读一篇csv a:
import csv
import collections
import pdb
import math
import urllib
def do_work():
a=get_file('c:/pythonwork/cds/cds.csv')
a=remove_chars(a)
print a[0:10]
def get_file(start_file): #opens original file, reads it to array
with open(start_file,'rb') as f:
data=list(csv.reader(f))
return (data)
def remove_chars(a):
badchars=['a','b','c','d']
for row in a:
for letter in badchars:
row[8].replace(letter,'')
return a
Run Code Online (Sandbox Code Playgroud)
我想['a','b','c','d']用空字符串替换行的第8个元素中出现的所有内容.该remove_chars功能无法正常工作.
有一个更好的方法吗?
Mat*_*nen 86
问题是你没有做任何事情的结果replace.在Python中,字符串是不可变的,因此操作字符串的任何内容都会返回一个新字符串,而不是修改原始字符串.
line[8] = line[8].replace(letter, "")
Run Code Online (Sandbox Code Playgroud)