2017-04-06 9 views
0

私はPythonでcsvファイルに出力の疑問を持っています。以下のようにPythonの出力

コード:

 import numpy as np 
    import scipy.stats as stats 
    from scipy.stats import poisson, norm 

    # Read the csv file and obtain corresponding parameter mu, cs and co. 

    import csv 
    with open('r1.csv', 'r') as f: 
    reader = csv.reader(f) 
    for row in reader: 
     print row 
    mu = row[0] 
    cs = row[1] 
    co = row[2] 

    mu = float(mu) 
    cs = float(cs) 
    co = float(co) 

    # Generate a Poisson Distribution and 

    G = poisson(mu) 
    p = G.pmf(np.arange(3*mu)) 

    # Define Z(Q) for the total cost estimation 

    def Z(Q): 
     ES = sum(i*p[i] for i in range(len(p))) 
     return cs*max((Q-ES), 0) + co*max((ES-Q), 0) 

    # Obtain Qstar 

    Qstar = np.ceil(poisson.ppf(co/(cs+co), mu))-1 
    Qstar = int(np.float64(Qstar).item()) 

コードのこの部分は、私のために正常に動作し、私はQSTAR = 5を得ましたこの単純な例では、それをどのようにしてCSVファイルに出力できますか?

ORDER_NUMBER 5

I QSTAR呼び出すために、次のコードがあります。

with open('test.csv', 'wb') as fp: 
     a = csv.writer(fp, delimiter=',') 
     data = [['Order_Number'],['Qstar']] 
     a.writerows(data) 

をしかし、私だけ

ORDER_NUMBER

QSTAR

を得るようです

nhowで「Qstar」を正しく呼び出せますか?

ありがとうございました!

+0

はオフQSTAR周りからの引用を取る、とあなたはQSTARで開催された変数を取得します。 –

+0

ありがとう! @MohammadAthar – Chenxi

答えて

0

はこれを試してみてください:

with open('test.csv', 'wb') as fp: 
      a = csv.writer(fp, delimiter=',') 
      data = [['Order_Number'],[Qstar]] 
      a.writerows(data) 
0

Qstarを一重引用符で囲むと、値 'Qstar'の文字列を作成するようにPythonに指示します。

with open('test.csv', 'wb') as fp: 
    a = csv.writer(fp, delimiter=',') 
    data = [['Order_Number'],[Qstar]] 
    a.writerows(data) 
+0

ありがとう!それで@ldueck – Chenxi

0

あなたは、文字列の代わりに、番号のデータ配列を養うためです:変数QSTARの値を出力するためには、単に単一引用符を使用しません。 QstarとOrder_numberから一重引用符を削除します。

+0

ありがとう! @サヒン – Chenxi