2011-11-20 17 views
11

में एक पायथन सूची लिखना मेरे पास संख्याओं की एक सूची है जिसे मैं एक .csv फ़ाइल में एक कॉलम में रखना चाहता हूं। नीचे दिया गया कोड मूल्यों को एक पंक्ति में लिखता है। मैं कोड कैसे बदल सकता हूं ताकि पाइथन प्रत्येक मान को एक अलग पंक्ति पर लिख सके? धन्यवाद।एक सीएसवी कॉलम

 with open('returns.csv', 'wb') as f: 
      writer = csv.writer(f) 
      writer.writerow(daily_returns) 
+1

ISTM केवल कॉलम वाले एक CSV फ़ाइल को csv.writer की आवश्यकता नहीं है। बस '' f.writelines ([ret + '\ n' दैनिक_रेर्न्स में ret के लिए] का उपयोग करें) '' –

+2

@ रेमंडहेटिंगर: शायद यह दूरगामी है, लेकिन 'ret' मानों में' \ n'' वर्ण या डिलीमीटर शामिल हो सकते हैं उद्धरण की आवश्यकता होगी। – unutbu

उत्तर

16
with open('returns.csv', 'wb') as f: 
    writer = csv.writer(f) 
    for val in daily_returns: 
     writer.writerow([val]) 
+3

मुझे लगता है कि खुली कॉल केवल 'खुली (' return.csv ',' w ') होना चाहिए: f: ' – Casey

+0

धन्यवाद। मैंने एक ही कोड की कोशिश की, लेकिन मेरी आखिरी पंक्ति लेखक.writerow (वाल) पढ़ी और मुझे "अनुक्रम अपेक्षित" त्रुटि मिली। मुझे एहसास नहीं हुआ कि मुझे ब्रैकेट की जरूरत है। – johnjdc

+0

@ कैसी: मैं सहमत हूं, लेकिन चूंकि ओपी ने इसे लिखा था, मुझे लगता है कि वह जानता है कि वह क्या कर रहा है। – unutbu

0
बस रिकार्ड के लिए

:

मैं अजगर 3.2 और मैं उपयोग कर रहा हूँ केवल मिल सकता है

with open('returns','w')as f: 
    writer=csv.writer(f,lineterminator='\n') 
    for val in returns: 
     writer.writerow([val]) 
+1

इन पायथन 3, आपको 'newline =' 'पैरामीटर का उपयोग करके फ़ाइलों को खोलना चाहिए, जैसा कि [दस्तावेज़] में वर्णित है (http://docs.python.org/3.2/library/csv.html#csv.writer)। – DSM

2

वैकल्पिक समाधान काम करने के लिए निम्नलिखित: मान लिया जाये कि daily_returns है एक सूची जिसे आप CSV फ़ाइल में कॉलम के रूप में लिखना चाहते हैं, निम्न कोड काम करना चाहिए:

with open('return.csv','w') as f: 
    writer = csv.writer(f); 
    writer.writerows(zip(daily_returns));