我有以下代码:
import os
import csv
listing = os.listdir('/directory/my/files/are/in')
os.chdir('/directory/my/files/are/in')
for file in listing[1:]:
r = csv.reader(open(file, 'rU'))
for row in r:
stuff = [str.split('\t', 1) for row in r]
print stuff
返回 TypeError: expected a character buffer object
。我该如何解决?基本上我想打开目录中的所有 (csv) 文件,然后从每个单元格中删除某些垃圾(/t 之后的所有内容,包括/t。)
str.split('\t', 1)
等同于 '\t'.split(1)
,它试图拆分字符串 '\t'
通过非字符串 1
,失败。并且您并不完全清楚您期望这样做:您正在遍历 r
,然后在该循环的主体中您再次遍历 r
(在列表理解。)你是不是想做这样的事情?
for row in r:
stuff = [item.split('\t', 1) for item in row]
print stuff
(这仍然没有什么意义,但至少它有所作为。)
我是一名优秀的程序员,十分优秀!