2014-02-07 104 views
0

我需要知道,可以通過不從其他CSV輸入輸入來創建CSV文件。 我有一個python腳本,它允許我從plc讀取數據存儲器給我一個打印輸出。 我需要知道,如果有可能通過給輸入這樣創建CSV文件:從讀取創建CSV文件def main()中的數據()

def main(): 
     plc = OmronPLC() 
     print plc.openFins('ip_address', port) 
     print plc.readMemC('D2000', 2) 
     print plc.readMemC('D2005', 5) 
     plc.close () 

    if __name__ == "__main__": 
     main() 

    import csv 
    with open ('test.csv', 'w') as fp: 
     a = csv.writer(fp, delimiter=',') 
     data = [ main() ] 
     a.writerows(data) 

這是一段腳本,從一個PLC中讀取數據存儲器。 當啓動這個腳本在顯示器給我的輸出數據,但在嘗試創建一個CSV文件CSV文件輸出""

PLC讀取以數字表示的數據存儲器的值,然後我嘗試創建這樣一個CSV:

12, 3 
25, 54 
44, 555 

當腳本打印監控值的輸出是這樣的:

[12, 3,] 
[12, 4, 54, 44, 555] 

我怎麼能有從定義輸入數據?

回答

0

您寫的main()函數應返回要寫入CSV文件的值列表。對於例如

def main(): 
    plc = OmronPLC() 
    ip = plc.openFins('ip_address', port) 
    d2000 = plc.readMemC('D2000', 2) 
    d2005 = plc.readMemC('D2005', 5) 
    plc.close () 
    print ip, d2000, d2005 
    return [ip, d2000, d2005] 
+0

它的工作原理,感謝您的支持!另一個問題,我怎麼能把2行,如:12,35和25,36再次下降。 – user3283077

+0

如果你想在單獨的行中使用三個變量,請將'data = [main()]'更改爲'data = main()' – arocks

+0

謝謝,我真的很感謝! – user3283077