首页 > 解决方案 > Python Tabulate 将字符格式化为单独的列

问题描述

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

在此处输入图像描述

使用以下代码:

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

根据用户输入,我想打印出这个文件中所有项目的漂亮表格。我正在使用表格来执行此操作。代码如下所示:

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

但是,结果输出将每个字符视为一列:

在此处输入图像描述

传统的打印语句如下所示:

在此处输入图像描述

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

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

标签: pythonpandastabulate

解决方案


这应该解决它:

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          |
+---------------+

推荐阅读