2011-11-10 13 views
6
import csv 
a=[] 
with open('large.csv','w') as f1: 
    writer=csv.writer(f1, delimiter='\t',lineterminator='\n',) 

    for i in range(1000000): 
     for j in range(i+1): 
      a.append(i+j*0.2) 
      #print i,j,a 
     #want to write into same csv file??? 
     '''like    
       0  1  2......999999 
      0 0.0 
      1 1.0 1.2 
      2 2.0 2.2 2.4 
      . ..... 
      . ..... 
      999999 
     ''' 
     a=[] 

मैंने यह किया है एक ही caculation दो बार से बचने के लिए और सूची 'एक' बड़ा मैं इसे फिर से प्रारंभ करने में है बड़ा हो जाएगा के रूप में तो (बाहरी पाश में से एक यात्रा के बाद), मैं चाहता हूँ उपरोक्त तरीके से सीएसवी फ़ाइल में लिखे गए सूची (फिर से शुरू करने से पहले) लेकिन मैं ऐसा करने में सक्षम नहीं हूं ...... कृपया मदद करें।सीएसवी पाश के भीतर लिखित

उत्तर

11

क्या आप ऐसा कुछ करना चाहते हैं?

import csv 
with open('large.csv','w') as f1: 
    writer=csv.writer(f1, delimiter='\t',lineterminator='\n',) 
    for i in range(1000000): 
     row = [i + j*0.2 for j in range(i+1)] 
     writer.writerow(row) 

या भी पंक्ति/स्तंभ हेडर के साथ:

import csv 
with open('large.csv','w') as f1: 
    writer=csv.writer(f1, delimiter='\t',lineterminator='\n',) 
    writer.writerow([''] + range(1000000)) 
    for i in range(1000000): 
     row = [i] + [i + j*0.2 for j in range(i+1)] 
     writer.writerow(row) 
बाद रिटर्न

फ़ाइल निम्न (मैं 1000000 10 के साथ जगह ले ली है):

 0  1  2  3  4  5  6  7  8  9 
0  0.0 
1  1.0  1.2 
2  2.0  2.2  2.4 
3  3.0  3.2  3.4  3.6 
4  4.0  4.2  4.4  4.6  4.8 
5  5.0  5.2  5.4  5.6  5.8  6.0 
6  6.0  6.2  6.4  6.6  6.8  7.0  7.2 
7  7.0  7.2  7.4  7.6  7.8  8.0  8.2  8.4 
8  8.0  8.2  8.4  8.6  8.8  9.0  9.2  9.4  9.6 
9  9.0  9.2  9.4  9.6  9.8  10.0 10.2 10.4 10.6 10.8 
+0

फिर धन्यवाद !!! लेकिन पंक्ति और कॉलम शीर्षलेख नहीं आ रहे हैं .. –

+0

बहुत बहुत धन्यवाद !!! ...... अब यह है ... –

+2

@tanmay: इसे सुनकर अच्छा लगा, और आपको स्टैक ओवरफ्लो पर अच्छा लगा। आप दिखा सकते हैं कि इस उत्तर ने इसके बगल में स्थित चेकमार्क पर क्लिक करके अपनी समस्या हल की है। चूंकि आपकी प्रतिष्ठा अब 16 तक पहुंच गई है, इसलिए आप अपनी प्रशंसा के प्रतीक के रूप में चेकमार्क के ऊपर वाले त्रिकोण पर क्लिक करके सहायक उत्तरों को अपवॉट भी दे सकते हैं। –