很难确切地说出你希望完成什么,但我认为这应该让你开始。
#!/usr/bin/env python
import csv
myfile = '/path/to/untitled.csv'
newfile = '/path/to/untitled_new.csv'
reader = csv.reader(open(myfile))
remove_me = {'3270','2500'}
print('Before:')
print(open(myfile).read())
for row in reader:
new_row = []
for column in row:
if column not in remove_me:
new_row.append(column)
csv.writer(open(newfile,'a')).writerow(new_row)
print('\n\n')
print('After:')
print(open(newfile).read())
输出:
Before:
1950,1300,1180,48,48,400
3270,2500,1950,1300,1180
After:
1950,1300,1180,48,48,400
1950,1300,1180
确保在迭代同一个列表时没有使用 list.remove,否则你可能会搞砸自己。if我上面的代码使用了一种更安全的策略,将通过测试的值(列不是您想要删除的值之一)复制到新列表中,然后将该新列表写入新的 .csv 文件。
这或多或少是你打算做的吗?
为了摆脱空白单元格,我想你可以添加''到remove_me.