首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中格式化CSV文件的输出

在Python中格式化CSV文件的输出
EN

Stack Overflow用户
提问于 2016-08-27 10:40:02
回答 1查看 16.2K关注 0票数 11

我正在用Python创建一个非常初级的“地址簿”程序。我正在从CSV文件中抓取联系人数据,该文件的内容类似于以下示例:

代码语言:javascript
复制
Name,Phone,Company,Email
Elon Musk,454-6723,SpaceX,emusk@spacex.com
Larry Page,853-0653,Google,lpage@gmail.com
Tim Cook,133-0419,Apple,tcook@apple.com
Steve Ballmer,456-7893,Developers!,sballmer@bluescreen.com

我正在尝试格式化输出,使其看起来更干净和更具可读性,即所有内容都排成行和列,如下所示:

代码语言:javascript
复制
Name:        Phone:        Company:        Email:        
Elon Musk    454-6723      SpaceX          emusk@spacex.com

我当前的代码如下:

代码语言:javascript
复制
f = open("contactlist.csv")
csv_f = csv.reader(f)
for row in csv_f:
    print(row)

由于缺乏格式,自然会产生这样的结果,这看起来仍然非常不干净。

代码语言:javascript
复制
['Name', 'Phone', 'Company', 'Email']
['Elon Musk', '454-6723', 'SpaceX', 'emusk@spacex.com']
['Larry Page', '853-0653', 'Google', 'lpage@gmail.com']
['Tim Cook', '133-0419', 'Apple', 'tcook@apple.com']
['Steve Ballmer', '456-7893', 'Developers!', 'sballmer@bluescreen.com']

任何关于如何产生更干净输出的技巧都将非常感谢,因为我是初学者,我发现所有这些都很令人困惑。在此之前,非常感谢您。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-27 10:56:59

您可以使用format来左对齐您的输出。例如,

代码语言:javascript
复制
f = open("contactlist.csv")
csv_f = csv.reader(f)
for row in csv_f:
    print('{:<15}  {:<15}  {:<20} {:<25}'.format(*row))

输出:

代码语言:javascript
复制
Name             Phone            Company              Email                    
Elon Musk        454-6723         SpaceX               emusk@spacex.com         
Larry Page       853-0653         Google               lpage@gmail.com          
Tim Cook         133-0419         Apple                tcook@apple.com          
Steve Ballmer    456-7893         Developers!          sballmer@bluescreen.com  

你可以阅读更多关于format here的内容。<符号左对齐文本,数字指定字符串的宽度。每个{}可以在冒号:之前包含一个位置参数-如果省略了这些参数,字符串将按照参数在解包列表row中的顺序出现。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39176935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档