【问题标题】:Create CSV file from read Data from def main()从 def main() 读取数据创建 CSV 文件
【发布时间】:2014-02-07 17:36:42
【问题描述】:

我需要知道可以通过提供不是来自其他 CSV 的输入来创建 CSV 文件。 我有一个 python 脚本,允许我从 plc 读取数据内存,给我一个打印输出。 我需要知道是否可以通过提供如下输入来创建 CSV 文件:

  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]

我如何从该定义中获取输入数据?

【问题讨论】:

    标签: python export-to-csv plc


    【解决方案1】:

    您编写的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]
    

    【讨论】:

    • 成功了,感谢支持!另一个问题,我怎样才能放入 2 行,例如:12,35 和向下 25,36 再次向下。
    • 如果要将三个变量放在不同的行中,请将data = [ main( ) ] 更改为data = main( )
    • 谢谢,非常感谢!
    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2019-09-17
    相关资源
    最近更新 更多