заполнение пробелов справа при записи фрейма данных в fwf

#python #pandas #numpy #fixed-width

#python #pandas #numpy #фиксированная ширина

Вопрос:

Я записываю фрейм данных Pandas в файл фиксированной ширины, используя numpy. Вот мой код.

 with open(self.tablePath,mode) as ofile:
   np.savetxt(ofile, tdata.values, fmt='%4sss')
  

Этот код добавляет пробелы в левую часть значений каждого столбца. Как мне заполнить пробелы справа от значений каждого столбца?
Я получаю следующий результат,

 xxxx        yyyy         256.25
xxx1      yyyyy1         430.25
  

Но я хочу, чтобы мой результат был следующим,

 xxxxyyyy        256.25         
xxx1yyyyy1      430.25         
  

Комментарии:

1. Можете ли вы добавить то, что вы получаете сейчас, и что именно вы ищете, не очень понятно, что вы ищете?

Ответ №1:

Как старый программист на C, я помню, что минус ( - ) означает правильное заполнение. Вам просто нужно:

 with open(self.tablePath,mode) as ofile:
   np.savetxt(ofile, tdata.values, fmt='%-4s%-12s%-15s')
  

Комментарии:

1. Спасибо 🙂 Это работает. А также я хочу знать, есть ли какой-либо pythonic способ сделать это? Ваш ответ правильный на мой вопрос. Итак, я проверяю правильный ответ 🙂

2. @SmithDwayne: Что вы здесь называете pythonic way ? Этот способ корректно использует Numpy, поэтому я не вижу никакой проблемы…