将类对象的返回值写入csvfi

2024-09-29 23:30:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将一些json数据转换为csv数据,并使用类对象来构造数据。你知道吗

我遇到的问题是写对象返回writerow。如果我的类对象返回一个以上的值,那么它写得很好,但如果我将该对象与只返回一个值的对象组合,则会出现错误。”错误:需要转义,但未设置“escapechar”。 只要我不合并object的两个变量,它就可以写得很好,但是合并这两个变量会产生上面的错误。你知道吗

我也尝试过其他的方法,我知道我可以通过在返回时这样写来得到我想要的结果:class().object()[I],但一定有一种更优雅的方法。 当编写返回多个值的对象时,它会执行我希望它执行的操作,但是只要我尝试将它与只返回一个值的对象组合,就会发生错误。 我还尝试将两个对象的结果合并到一个列表中,但这给我留下了另一个问题,即每个对象返回的圆括号将写入文件中。 试着用两个步骤找到一种方法来写入CSV文件的同一行,但都没有成功。你知道吗

class nlLifter():

    def __init__(self):

        pass


    def name(self,index):

        name=(nl_obj['lifters'][index]['name'])
        self.fullname=name
        name=name.split( )
        self.firstname=name[0]
        self.lastname=name[-1]
        return (self.firstname,self.lastname)


    def team(self,index):
        self.team=nl_obj['lifters'][index]['team']
        return(self.team)

nlLifter().team(0)

with open(filepath+'csvFileName'+str(0)+'.csv','w',newline='') as csvfile:
    csvwriter=csv.writer(csvfile,delimiter=',',
                         quotechar='', quoting=csv.QUOTE_NONE)
    csvwriter.writerow(['Heading1','Heading2'])
    csvwriter.writerow([
        [nlLifter().team(0)],
        [nlLifter().name(0)]
    ])

我试图产生的结果是将要写入csv文件中同一行的两个对象name和team组合起来。我认为CSV文件只有两行数据是至关重要的。你知道吗


Tags: 文件csv数据对象方法nameselfindex

热门问题