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