Поскольку вы не показываете свои данные или выходные данные, я не могу быть уверен.Но кажется, что вы пытаетесь использовать метод write
, такой как функция print
, но есть важные различия.
Самое важное, write
не следует за своими письменными символами ни с каким разделителем (например, пробелом)по умолчанию для print
) или end (например, \n
по умолчанию для print
).Поэтому между вашими данными и числом шагов или между строками нет места, потому что вы их не написали, а Python их не добавил.
Так что добавьте их.Попробуйте строки
p.write(dte[x]) # Write date
p.write(' ') # space separator
p.write(str(stp[x])) # Write Steps number
p.write('\n') # line terminator
Обратите внимание, что я не знаю формат написанной вами "даты", поэтому вам может потребоваться преобразовать ее в текст перед ее написанием.
Теперь, когда у меня есть время, я реализую предложение @ abarnert (в комментарии) и покажу вам, как получить преимущества функции print
и все еще писать в файл.Просто используйте параметр file=
в Python 3 или в Python 2 после выполнения оператора
from __future__ import print_function
Используя print
, вы можете сделать мои четыре строки выше в одной строке, так как print
автоматически добавляетразделитель пробела и конец строки:
print(dte[x], str(stp[x]), file=p)
Предполагается, что ваша дата dte[x]
будет напечатана в виде текста.