2016-08-27 6 views
7

में सीएसवी फ़ाइल का स्वरूपण आउटपुट मैं पाइथन में एक बहुत ही प्राथमिक "एड्रेस बुक" प्रोग्राम बना रहा हूं।पायथन

Name,Phone,Company,Email 
Elon Musk,454-6723,SpaceX,[email protected] 
Larry Page,853-0653,Google,[email protected] 
Tim Cook,133-0419,Apple,[email protected] 
Steve Ballmer,456-7893,Developers!,[email protected] 

मैं उत्पादन फ़ॉर्मेट करने के लिए इतना है कि यह क्लीनर और अधिक पठनीय लग रहा है कोशिश कर रहा हूँ, यानी सब कुछ पंक्तियों और में खड़े: मैं एक CSV फ़ाइल से संपर्क डेटा, सामग्री निम्न उदाहरण की तरह दिखता है, जिनमें से हथियाने हूँ कॉलम, इस तरह:

Name:  Phone:  Company:  Email:   
Elon Musk 454-6723  SpaceX   [email protected] 

मेरे वर्तमान कोड इस प्रकार है:

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', '[email protected]'] 
['Larry Page', '853-0653', 'Google', '[email protected]'] 
['Tim Cook', '133-0419', 'Apple', '[email protected]'] 
['Steve Ballmer', '456-7893', 'Developers!', '[email protected]'] 

कैसे एक क्लीनर उत्पादन का उत्पादन करने के लिए पर कोई सुझाव के बहुत सराहना की जाएगी जैसा कि मैंने अभी शुरुआत है और मैं यह सब काफी भ्रमित पाते हैं। अग्रिम में बहुत धन्यवाद।

उत्तर

6

आप अपने आउटपुट को उचित ठहराने के लिए format का उपयोग कर सकते हैं। उदाहरण के लिए,

f = open("contactlist.csv") 
csv_f = csv.reader(f) 
for row in csv_f: 
    print('{:<15} {:<15} {:<20} {:<25}'.format(*row)) 

आउटपुट:

Name    Phone   Company    Email      
Elon Musk  454-6723   SpaceX    [email protected]   
Larry Page  853-0653   Google    [email protected]   
Tim Cook   133-0419   Apple    [email protected]   
Steve Ballmer 456-7893   Developers!   [email protected] 

आप format here के बारे में अधिक पढ़ सकते हैं। < प्रतीक पाठ को बाएं-संरेखित करता है, और संख्या स्ट्रिंग की चौड़ाई निर्दिष्ट करती है। प्रत्येक {} को कोलन : से पहले एक स्थितित्मक तर्क शामिल कर सकते हैं - यदि उन्हें छोड़ा जाता है, तो स्ट्रिंग अनपॅक किए गए सूची row में तर्कों के क्रम में दिखाई देगी।

+1

जानकारी और लिंक के लिए बहुत धन्यवाद। – shaneybrainy13

+0

@zarak मैंने आपके समाधान की कोशिश की, लेकिन मैं इंडेक्स एरर प्राप्त कर रहा हूं: समाधान के लिए किसी भी विचार को श्रेणीबद्ध करने के लिए टुपल इंडेक्स? – Vash

+0

हाय @ वाश, क्या आप यहां दिखाए गए उदाहरण पर कोड चला रहे हैं? – zarak