Я конвертирую некоторые данные JSON в данные CSV и использую объекты классов для структурирования данных.
Проблема, с которой я сталкиваюсь, - это запись объекта, возвращаемого с writerow. Если мои объекты класса возвращают более одного значения, они пишут просто отлично, но если я объединяю этот объект с объектом, который возвращает только одно значение, я получаю ошибку. Msgstr "Ошибка: нужно убежать, но не задан escape-символ".
Пока я не объединяю два варианта возврата объекта, он пишет просто отлично, но объединение двух приведет к ошибке, описанной выше.
Я пробовал другие способы и знаю, что могу получить желаемый результат, написав по возвращению в такое время: 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 строки данных.