Python 如何将csv文件的结果格式化为更像表格

Python 如何将csv文件的结果格式化为更像表格,python,csv,format,tabular,Python,Csv,Format,Tabular,如何将输出格式化为类似于以下设计的表格,同时省去不必要的列?我正在处理def 2,它会返回我想要的原始数据,但我不知道如何将其格式化,使其与下表相似 ['1000.3', '', ''] ['Coke Can', '1.1', '100'] ['Bread', '0.7', '30'] ['Spaghetti', '1.2', '100'] ['Tomato Sauce', '0.8', '100'] ['Bin Bags', '2.5', '4'] Enter anything to retu

如何将输出格式化为类似于以下设计的表格,同时省去不必要的列?我正在处理def 2,它会返回我想要的原始数据,但我不知道如何将其格式化,使其与下表相似

['1000.3', '', '']
['Coke Can', '1.1', '100']
['Bread', '0.7', '30']
['Spaghetti', '1.2', '100']
['Tomato Sauce', '0.8', '100']
['Bin Bags', '2.5', '4']
Enter anything to return to main menu


-----------------------------
Shop has 1000.30 in cash
-----------------------------
| Product             |  Qty |
-----------------------------
| Coke Can            | 00100|
|----------------------------|
| Bread               | 00030|
|----------------------------|
| Spaghetti           | 00100|
|----------------------------|
| Tomato Sauce        | 00100|
|----------------------------|
| Bin Bags            | 00004|
|----------------------------|


 

def two():
    with open('../stock.csv') as csvfile:
        readCSV = csv.reader(csvfile, delimiter=',')
        first_row = next(readCSV)
        print(first_row)
        for row in readCSV:
            print(row)
    anykey=input("Enter anything to return to main menu")
    mainMenu()   

#main routine
mainMenu()

只要稍微玩弄一下print语句,就可以轻松实现这一点

import csv
fields = [] 
filename = "stock.csv"
with open(filename, 'r') as csvfile:
    csvreader = csv.reader(csvfile) 
    fields = next(csvreader)
    print('-'*40)
    print(f'Shop has {fields[0]} in cash')
    print('-'*40)
    for row in csvreader:
        print('-'*40)
        print('| ', row[0], ' '*(24-len(row[0])),'| ', row[2],' '*2, '|')
        print('-'*40)

您可以使用pandas代替编写函数。编写函数会花费更多的时间。但是,如果您想让您的表格看起来像您在问题中所显示的那样,您需要在csv文件中做一些更改。谢谢。我真正想做的是让csv文件读入信息,而不必对值进行硬编码,并以表格形式生成它以反映上面的表格。工作非常完美。非常感谢你。