在Python中格式化CSV文件的输出
我正在用Python创建一个非常初级的“地址簿”程序。我从CSV文件中获取联系人数据,其内容如以下示例所示:在Python中格式化CSV文件的输出,python,csv,format,Python,Csv,Format,我正在用Python创建一个非常初级的“地址簿”程序。我从CSV文件中获取联系人数据,其内容如以下示例所示: 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@
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
我正在尝试格式化输出,使其看起来更清晰、更可读,即所有内容都按行和列排列,如下所示:
Name: Phone: Company: Email:
Elon Musk 454-6723 SpaceX emusk@spacex.com
我目前的代码如下:
f = open("contactlist.csv")
csv_f = csv.reader(f)
for row in csv_f:
print(row)
由于缺少格式,自然产生了这个,看起来仍然很不干净
['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']
任何关于如何产生更清洁输出的提示都将非常感谢,因为我是初学者,并且我发现所有这些都相当混乱。非常感谢。您可以使用
格式
对输出进行左对齐。比如说,
f = open("contactlist.csv")
csv_f = csv.reader(f)
for row in csv_f:
print('{:<15} {:<15} {:<20} {:<25}'.format(*row))
你可以阅读更多关于。
@zarak我尝试了你的解决方案,但我一直在使用indexer:tuple index超出范围有什么解决方案吗?嗨@Vash,你在这里显示的示例上运行代码吗?@zarak没有,我尝试在更大的csv文件上运行它。
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