簡體   English   中英

Python輸出到csv文件

[英]Python output to csv file

我在輸出到Python中的csv文件時有一個問題:

代碼如下:

     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文件?

訂單號

我有以下代碼調用Qstar:

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

但似乎我只能得到

訂單號

QSTAR

我怎么能正確地稱呼“ Qstar”?

謝謝!

通過在Qstar周圍使用單引號,您將告訴Python創建一個值為'Qstar'的字符串。 為了輸出變量Qstar的值,只需不要使用單引號:

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

那是因為您用字符串而不是數字來喂數據數組。 從Qstar和Order_number中刪除單引號。

嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM