'_csv.writer'对象没有属性'write'

时间:2013-12-17 16:29:12

标签: python csv

我不确定这里的问题是什么。我有一个我要过滤的csv文件。我想删除以'@'开头的所有行以及第三列是字符串'chrM'的所有行。我基本上设置我的代码就像这里的答案:

TypeError: expected a character buffer object

但我得到了一个错误。

import re
import csv

inputSamFile = 'excerpt'
outSamFile = 'filternoM'

with open(inputSamFile) as inputSam, open(outSamFile, 'wt') as outSam:
    inputSamCont = csv.reader(inputSam, delimiter = '\t')
    outSamCont = csv.writer(outSam, delimiter = '\t')
    for line in inputSamCont:
        if line[0].startswith('@'):
            continue
        elif line[2] == 'chrM':
            continue
        else:
            outSamCont.write(line)

追踪(最近一次通话):   文件“filterMito.py”,第19行,in     outSamCont.write(ProcessLine从(线)) AttributeError:'_csv.writer'对象没有属性'write'

我做错了什么

2 个答案:

答案 0 :(得分:4)

您可能正在寻找.writerow()

我也遇到了这个问题,因为我关注的文档使用了.write(),但csv.writer个对象使用了.writerow()

答案 1 :(得分:2)

错误告诉您需要知道的一切。

AttributeError: '_csv.writer' object has no attribute 'write'

在您的代码中,您创建了对象:

outSamCont = csv.writer(outSam, delimiter = '\t')

然后尝试调用.write()方法:

outSamCont.write(line)

(或者,就像在追溯中一样

outSamCont.write(ProcessLine(line)) 

我不确定你为什么要在你正在运行的东西上发布不同的代码。

但是,该对象csv.writer没有方法write,因此出现错误消息。有关csv.writer个对象的详细信息,请参阅the documentation,并选择合适的方法。