在Python中以表格形式打印列表

在Python中以表格形式打印列表,python,Python,我有一个如下格式的列表: list_of_DVDsuppliers=[["a","m",15],["w","p",34]] 我想把这个列表的内容打印成带有一些标题的表格。以下是我迄今为止所尝试的: def dvdprintsoftlist(): print(list_of_DVDsoftwears) ''' printing the available DVDstocks,supplier's details ''' print("This is your curren

我有一个如下格式的列表:

list_of_DVDsuppliers=[["a","m",15],["w","p",34]]
我想把这个列表的内容打印成带有一些标题的表格。以下是我迄今为止所尝试的:

def dvdprintsoftlist():
    print(list_of_DVDsoftwears)
    ''' printing the available DVDstocks,supplier's details '''
    print("This is your current list of stock")
    print("Supplier Name      Softwear Name             Amount")
    print("----------------------------------------------------------------")
    for (index,[name,softname,amount]) in enumerate (list_of_DVDsuppliers):
        print(name + "          " +softname + "            " +str(amount)  + "   ")
        print("----------------------------------------------------------------")
    print("")
问题是此代码没有正确对齐表列。如何确保所有条目彼此对齐


我还想以CSV格式导出数据,以便其他程序可以读取,但这是一个单独的问题。

在打印时尝试使用%和s之间的填充位

你可以像…一样使用它们

print('%-20s%-20s%-20s'%('supplier name','software name','amount'))  
-对于左填充和右填充的+ve(默认值)

您可以使用
format()
,字符串中的
{i:length}
将替换为参数,其中
i
是顺序标识符,
length
是字段的“长度”

def dvdprintsoftlist():
    list_of_DVDsuppliers=[["a","m",15],["w","p",34]]
    print(list_of_DVDsuppliers)
    print
    ''' printing the available DVDstocks,supplier's details '''
    print("This is your current list of stock")
    print("Supplier Name\t\tSoftwear Name\t\tAmount")
    print("----------------------------------------------------------------")
    for [name, softname, amount] in list_of_DVDsuppliers:
        print("{0:23} {1:23} {2:5}".format(name, softname, amount))
        print("----------------------------------------------------------------")
    print("")

dvdprintsoftlist()

我只是使用这个代码def dvdprintsoftlist():print(list of_DVDsoftwears)“”打印可用的DVDstocks,供应商的详细信息“””打印(“这是您当前的库存列表”)打印(“供应商名称Softwear Name Amount”)打印(“----------------------------------------------------------------------------------------------------------------------------------”)用于(索引,enumerate(供应商列表)中的[name,softname,amount]:print(name+“”+softname+“”+str(amount)+“”)print(“-----------------------------------------------------------------------------------------------”)print(“”)找到了吗?它的nt正在运行它的python 3此错误显示为回溯(最近的调用最后一次):文件“C:\Users\AAA\Desktop\python几乎完成了\test of module useage.py”,在导入modulenew文件“C:\Users\AAA\Desktop\python几乎完成了\modulenew.py”中的第11行,第263行打印“{0:23}{1:23}{2:5}”。格式(名称、软名称、金额)^SyntaxError:无效语法请在新文件中尝试此代码。查看其工作原理,然后尝试将其添加到您的代码中。PS:如果是SyntaxError,您可能写了一些不正确的内容。我不理解,但如果您使用的是python 3.x,请确保您的print语句为print(“{0:23}{1:23}{2:5}”。format(姓名、软件名、金额)注意()它能工作非常感谢christian,你能帮我做这个等式吗