Python 3.x 如何添加标题和对齐列表

Python 3.x 如何添加标题和对齐列表,python-3.x,header,Python 3.x,Header,我有这个数据集,我需要对齐ID、Date和Title的列。我不知道如何对齐这些和如何添加标题?我无法使用任何第三方功能,如制表。有人能告诉我怎么做吗?我是初学者,只是需要一些指导 data_set = [['ID=j234hg\n'], ['Date=19 October 1969\n'], ['Title=court scene with cardinal richelieu\n'], ['ID=d45j5jkd\n'], ['Date=28 December 1969\n'], ['Titl

我有这个数据集,我需要对齐
ID
Date
Title
的列。我不知道如何对齐这些和如何添加标题?我无法使用任何第三方功能,如
制表
。有人能告诉我怎么做吗?我是初学者,只是需要一些指导

data_set = [['ID=j234hg\n'], ['Date=19 October 1969\n'], ['Title=court scene with cardinal richelieu\n'], ['ID=d45j5jkd\n'], ['Date=28 December 1969\n'], ['Title=THE ROYAL PHILHARMONIC ORCHESTRA GOES TO THE BATHROOM\n'], ['ID=s4k5jk\n'], ['Date=8 December 1970\n'], ['Title=crossing the atlantic on a tricycle\n'], ['ID=zd7u4h\n'], ['Date=19 October 1969\n'], ['Title=Bicycle Repair Man\n'], ['ID=f983\n'], ['Date=22 December 1970\n'], ['Title=Royal Episode 13 (or: The Queen Will Be Watching)\n'], ['ID=j8s74\n'], ['Date=15 September 1970\n'], ['Title=THE SEMAPHORE VERSION OF WUTHERING HEIGHTS\n'], ['ID=n4j6l3j\n'], ['Date=7 December 1972\n'], ['Title=Mr. Pither']]

它需要如下所示:

#ID       Date              Title
#d45j5jkd 28 December 1969  The Royal Philharmonic Orchestra Goes To The Bathroom
#f983     22 December 1970  Royal Episode 13 (Or: The Queen Will Be Watching)
您可以使用格式化和对齐标题和
数据集

不幸的是,
数据集
是一个由子
列表
组成的
列表
,因此它开始时有点混乱,然后在
for
循环中打印,用于从展开列表中打印3组:

data_set = [['ID=j234hg\n'], ['Date=19 October 1969\n'], ['Title=court scene with cardinal richelieu\n'], 
        ['ID=d45j5jkd\n'], ['Date=28 December 1969\n'], ['Title=THE ROYAL PHILHARMONIC ORCHESTRA GOES TO THE BATHROOM\n'], 
        ['ID=s4k5jk\n'], ['Date=8 December 1970\n'], ['Title=crossing the atlantic on a tricycle\n'], 
        ['ID=zd7u4h\n'], ['Date=19 October 1969\n'], ['Title=Bicycle Repair Man\n'], ['ID=f983\n'], 
        ['Date=22 December 1970\n'], ['Title=Royal Episode 13 (or: The Queen Will Be Watching)\n'], 
        ['ID=j8s74\n'], ['Date=15 September 1970\n'], ['Title=THE SEMAPHORE VERSION OF WUTHERING HEIGHTS\n'], 
        ['ID=n4j6l3j\n'], ['Date=7 December 1972\n'], ['Title=Mr. Pither']]

#First, flatten the list of lists to one list of strings
flist = [item for sublist in data_set for item in sublist]

print('{h1:10}{h2:20}{h3}'.format(h1='#ID', h2='Date', h3='Title'))
for i in range(0, len(flist), 3):
    print('{id:10}{date:20}{title}'   
                       .format(   
                               id=flist[i].strip('\n').split('=')[1],   
                               date=flist[i+1].strip('\n').split('=')[1],   
                               title=flist[i+2].strip('\n').split('=')[1])
                              )
输出:

#ID       Date                Title
j234hg    19 October 1969     court scene with cardinal richelieu
d45j5jkd  28 December 1969    THE ROYAL PHILHARMONIC ORCHESTRA GOES TO THE BATHROOM
s4k5jk    8 December 1970     crossing the atlantic on a tricycle
zd7u4h    19 October 1969     Bicycle Repair Man
f983      22 December 1970    Royal Episode 13 (or: The Queen Will Be Watching)
j8s74     15 September 1970   THE SEMAPHORE VERSION OF WUTHERING HEIGHTS
n4j6l3j   7 December 1972     Mr. Pither
如果它不能准确回答您的问题,请随时发表评论。

我很抱歉,因为这是非常混乱,但它的工作。我稍后会把它清理干净。同时,我希望这能有所帮助

当我把这个放进去的时候,它似乎不想接受。我必须再次查看错误,但它表明.strip部分出现了问题。抱歉,是的,我没想到您第一次尝试它时它会完美工作,因为它有点凌乱。如果您愿意,请随时发布您遇到的任何错误,我可以尝试修改代码以使其适合您。感谢您的反馈。另外,请确保
数据集
的结构与您在问题中提到的相同,即
[[[''ID=j234hg\n'],[''.\n'],['.\n'],[''.\n'],['Title=Mr.Pither']
-a
列表的
列表
flist=[data\u set]打印('{h1:10}{h2:20}{h3}格式(h1='#ID',h2='Date',h3='Title'))范围内的i(0,len(flist),3):打印('{ID:10}{Date:20}{Title})。格式(ID=flist[i]。strip('\n')。split('=')[1],Date=flist[i+1]。strip('\n')。split('='))[1],title=flist[i+2].strip('\n').split('=')[1])我以您的格式将其输入到我的代码中,它给了我:
#ID       Date                Title
j234hg    19 October 1969     court scene with cardinal richelieu
d45j5jkd  28 December 1969    THE ROYAL PHILHARMONIC ORCHESTRA GOES TO THE BATHROOM
s4k5jk    8 December 1970     crossing the atlantic on a tricycle
zd7u4h    19 October 1969     Bicycle Repair Man
f983      22 December 1970    Royal Episode 13 (or: The Queen Will Be Watching)
j8s74     15 September 1970   THE SEMAPHORE VERSION OF WUTHERING HEIGHTS
n4j6l3j   7 December 1972     Mr. Pither