Python 制表格式字符作为单独的列

Python Tabulate formats characters as separate columns

使用 pandas,我正在读取一个制表符分隔的文件,如下所示:

使用以下代码:

pantry_file = pd.read_csv('/PantryList.txt', sep='\t')

根据用户输入,我想打印出此文件中所有项目的美观 table。我正在使用制表来做到这一点。代码如下所示:

print(tabulate(pantry_file.loc[: , "ITEM"], tablefmt='psql', headers=['Pantry Item'], showindex=False))

但是,生成的输出将每个字符视为一列:

传统的打印语句是这样的:

我的问题是,为什么 tabulate 将每个字母视为一列,我该如何更正这个问题?

其他信息:Python 3.6 通过 Anaconda 使用 Spyder。

这应该可以解决问题:

print(tabulate(list(map(lambda x:[x], pantry_file.loc[:, "ITEM"])), tablefmt='psql', headers=['Pantry Item'], showindex=False))

输出:

+---------------+
| Pantry Item   |
|---------------|
| Butter        |
| Salt          |
| Chicken       |
| Beef Broth    |
| Pepper        |
| Milk          |
+---------------+