我的运行结果:
效果图:
需要用到的字符串:
┌───┬───────────────┬───────┬─────┐ └───┴───────────────┴───────┴─────┘ 需要用到的元组:
fieldName=("商品id","图书名称","出版社","价格") bookData = ( {"id": "1", "bookName": "资本论(第一卷)", "publisher": "人民出版社", "Price": "90"}, {"id": "2", "bookName": "中华人民共和国简史", "publisher": "上海人民出版社", "Price": "40"}, {"id": "3", "bookName": "百年大党正年轻", "publisher": "东方出版社", "Price": "68"}, {"id": "4", "bookName": "零基础学Python3.0(全彩版)", "publisher": "吉林大学出版社", "Price": "79.80"}, {"id": "5", "bookName": "给Python点颜色 青少年学编程", "publisher": "人民邮电出版社", "Price": "59.80"}, )
我的代码: for each in bookData: print("{:^10}{:<17}{:^10}{:>5}".format((each['id']),(each['bookName']),(each['publisher']),(each["Price"])))
如果逼真地模拟出截图中那种带“表格边框线”的效果,可以利用 Unicode 的制表符号(“┌”、“─”、“│” 等)。
思路:
- 手动打印表格的上边框。
- 打印表头行,利用合适的宽度对齐并在前后加 │。
- 打印表头和内容之间的分隔线。
- 逐行打印内容,每行都在前后及列与列之间用 │ 分割。
- 最后打印表格底部边框。
参考代码:
- fieldName = ("商品ID", "图书名称", "出版社", "价格")
- bookData = (
- {"id": "1", "bookName": "资本论(第一卷)",
- "publisher": "人民出版社", "Price": "90"},
- {"id": "2", "bookName": "中华人民共和国简史",
- "publisher": "上海人民出版社", "Price": "40"},
- {"id": "3", "bookName": "百年大党正年轻",
- "publisher": "东方出版社", "Price": "68"},
- {"id": "4", "bookName": "零基础学Python3.0(全彩版)",
- "publisher": "吉林大学出版社", "Price": "79.80"},
- {"id": "5", "bookName": "给Python点颜色 青少年学编程",
- "publisher": "人民邮电出版社", "Price": "59.80"},
- )
- # 上边框
- print("┌─────────┬─────────────────────────┬───────────────┬─────┐")
- # 表头(注意列宽和对齐方式要与边框相匹配)
- print("│{:^9}│{:^25}│{:^13}│{:^5}│".format(*fieldName))
- # 表头分隔线
- print("├─────────┼─────────────────────────┼───────────────┼─────┤")
- # 内容行
- for each in bookData:
- print("│{:^9}│{:<25}│{:^13}│{:>5}│".format(
- each['id'],
- each['bookName'],
- each['publisher'],
- each["Price"]
- ))
- # 底边框
- print("└─────────┴─────────────────────────┴───────────────┴─────┘")
复制代码
这样就能打印出带线框的表格。
|