csv在循环内写

Tan*_*her 7 python csv

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=[]
Run Code Online (Sandbox Code Playgroud)

我这样做,以避免两次相同的计算研究和列表"A"将变得很大,我必须重新初始化.所以(外循环的一个迭代后),我想要的清单(前再次获得初始化)写入CSV以上述方式提交,但我无法这样做......请帮忙.

eum*_*iro 14

你想做这样的事吗?

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)
Run Code Online (Sandbox Code Playgroud)

或者还有行/列标题:

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)
Run Code Online (Sandbox Code Playgroud)

后者返回以下文件(我用10替换了1000000):

        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
Run Code Online (Sandbox Code Playgroud)

  • @tanmay:很高兴听到它,很高兴有你在StackOverflow上.您可以通过单击旁边的复选标记来显示此答案解决了您的问题.由于您的声誉现在已达到16,您还可以通过单击复选标记上方的向上三角形来表示您的赞赏,以表达对您的回答. (2认同)