我将一些json数据转换为csv数据,并使用类对象来构造数据。
我正在写对象时遇到的问题以writerow返回。如果我的类对象返回一个以上的值,那么它写得很好,但是如果我将该对象与一个仅返回一个值的对象组合,则会出现错误。 “错误:需要转义,但未设置转义符”。 只要我不合并对象返回的两个变体就可以了,但是将两者结合会产生上面的错误。
我尝试了其他方法,并且知道可以通过在如下时间在return上进行写操作来获得我想要的结果: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文件中的同一行。我至关重要的是CSV文件只能包含2行数据。