我在fruitveggielist.py中的代码应该读取文件并打印到表格。我正在使用tabulate
fruit.txt
corn, apple
lettuce, grapes
pepper, melon
但是,应在带有标题veggie fruit
的表格中显示。
代码:
from tabulate import tabulate
filepath = 'fruit.txt'
with open(filepath) as fp:
line = fp.readline()
while line:
print tabulate("{}".format(line.strip()), headers=['Veggie', 'Fruit'])
line = fp.readline()
打印 -
Veggie
--------
c
o
r
n
,
a
p
p
l
e
等,等...
我如何使用制表符或其他表格式来正确地将fruit.txt打印到表格中?
答案 0 :(得分:1)
好的,所以最简单的方法是将数据放入嵌套列表中。
正如您现在所做的那样,字符串被视为可迭代,因此每个字符都被视为一个单独的项目,并赋予其自己的行。您最终还会在读入的每行数据上放置标题。
如前所述,解决此问题的最佳方法是将所有内容放入列表并调用函数一次。每对应该是一个单独的记录。
from tabulate import tabulate
data = []
with open('fruit.txt') as f:
for line in f:
data.append(list(map(str.strip, line.split(','))))
print(tabulate(data, tablefmt='grid', headers=('veggie', 'fruit')))
+----------+---------+
| veggie | fruit |
+==========+=========+
| corn | apple |
+----------+---------+
| lettuce | grapes |
+----------+---------+
| pepper | melon |
+----------+---------+