#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, поэтому я не вижу никакой проблемы…