如何创建在python

时间:2016-09-01 16:17:31

标签: python python-2.7 python-3.x csv export-to-csv

我是编程新手。我想知道是否有人可以帮助我为我在python中创建的数据创建一个csv文件。 我的数据看起来像这样

import numpy as np
print np.__version__



a = 0.75 + (1.25 - 0.75)*np.random.sample(10000)
print a
b = 8 + (12 - 8)*np.random.sample(10000)
print b
c = -12 + 2*np.random.sample(10000)
print c
x0 = (-b - np.sqrt(b**2 - (4*a*c)))/(2*a)
print x0

我想要创建的csv文件格式是a,b,c和x0分别为1列(参见下面的示例)

enter image description here

非常感谢您的专业协助

提前致谢: - )

编辑1>> 输入代码:

import numpy as np
print np.__version__
import csv




a = 0.75 + (1.25 - 0.75)*np.random.sample(10000)
##print a
b = 8 + (12 - 8)*np.random.sample(10000)
##print b
c = -12 + 2*np.random.sample(10000)
##print c
x0 = (-b - np.sqrt(b**2 - (4*a*c)))/(2*a)
##print x0


with open("file.csv",'w') as f:
    f.write('a,b,c,x0\n')
    for val in a,b,c,x0:
        print val
        f.write(','.join(map(str,[a,b,c,x0]))+ '\n')

输出 enter image description here

我能够使用for loop命令生成数据(参见下面的图片)。 csv格式未按预期输出。

enter image description here

2 个答案:

答案 0 :(得分:2)

chunk_size

答案 1 :(得分:1)

您需要迭代四个值范围。每次迭代都应该对应于每个新写的行。

试试这个:

import numpy as np
print np.__version__
import csv


a_range = 0.75 + (1.25 - 0.75)*np.random.sample(10000)
b_range = 8 + (12 - 8)*np.random.sample(10000)
c_range = -12 + 2*np.random.sample(10000)
x0_range = (-b_range - np.sqrt(b_range**2 - (4*a_range*c_range)))/(2*a_range)


with open("file.csv",'w') as f:
    f.write('a,b,c,x0\n')
    for a,b,c,x0 in zip(a_range, b_range, c_range, x0_range):
        f.write(','.join(map(str,[a,b,c,x0]))+ '\n')