Я пытаюсь преобразовать этот код python2.7 в python3.6
def write_to_zip(x, zf, vocab_start):
curr_name = "{0}_S{1}_{2}".format(x['study_name'], x['subject_id'], x['repeat_num'])
vocab_string = x[vocab_start:].to_string(header = False, index = False).replace('\n','').encode("utf-8")
demo_string = ("{:<25}"*(vocab_start)).format(*x[0:vocab_start].replace(r'', np.nan, regex=True))
print(demo_string)
string_to_write = demo_string + vocab_string
zf.writestr("{}.txt".format(curr_name), string_to_write)
Но я получаю следующую ошибку для demo_string = ("{:<25}"*(vocab_start)).format(*x[0:vocab_start].replace(r'', np.nan, regex=True))
('не поддерживаетсястрока формата, переданная NoneType .__ format__ ',' произошла с индексом 0 ')
x
выглядит примерно так:
study_name English L1
subject_id 2
repeat_num 1
completed True
last_modified 2019-08-05 06:57 UTC
и генерирует demo_string
из
English L1 2 1 1 2019-08-05 06:57 UTC
vocab_start
= 34 в этом примере
Чем заменить {: <25} в Python3, чтобы получить тот же результат? </p>