Python: как вставить вкладку и отформатировать текстовый файл - PullRequest
0 голосов
/ 27 апреля 2018

Ввод текстового файла в следующем формате:

hammer#9.95
saw#20.15
shovel#35.40

Мне нужно перенести его в python и отформатировать так, чтобы он соответствовал существующему фрагменту кода:

# display header line for items list print('{0: <10}'.format('Item'), '{0: >17}'.format('Cost'), sep = '' )

Цель состоит в том, чтобы текстовый файл соответствовал существующим заголовкам, например:

Item   Cost
hammer $9.95
saw    $20.15
shovel $35.4

Я могу ввести текстовый файл в Python и получить вместо знака # знак $:

file = open('Invoice.txt', 'r')
file_contents = file.read()
new_file_contents = file_contents.replace('#', '$')

Что дает мне этот вывод:

hammer$9.95
saw$20.15
shovel$35.40

но у меня проблемы с форматированием. Есть предложения?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете сделать что-то вроде этого:

with open(file,'rt',encoding='utf-8') as infile:
    for line in infile:
        print("{:<6} {}".format(line.strip().split('#')[0],"$"+line.strip().split("#")[1]))

Единственная проблема в том, что это будет выглядеть ужасно, если у вас будет более длинное слово, чем у молотка. Я предлагаю сначала найти самое большое слово в вашем списке, а затем использовать его в качестве ограничителя для {: <6}. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...