从文本文件或 csv 文件读取信息的示例

本文详细介绍了如何在WinCC(TIAPortal)中使用IO域和脚本处理文本文件或CSV文件,包括连接变量、添加对象、编写和修改脚本,以及调试和运行过程。
摘要由CSDN通过智能技术生成

如下表格说明文本文件或 csv 文件中的信息如何在 WinCC (TIA Portal) 中显示。 IO 域用作于显示,只有最有一个条目被输出。

注意
在此例中由于最后一条条目被搜索,脚本的运行系统会随着文件的尺寸增长而增长。先前示例中的配置在该示例中不是必须的。但是用到的组件仍然使用。
   

步骤

1.连接变量

  • 使用“项目导航 > HMI_1 > HMI 变量 > 显示所有变量”打开变量编辑器。
  • 按照下面描述添加四个内部变量:
     
    变量

    数据类型

    szdateWString
    szString_1WString
    iValue_1Int
    iValue_2Int

注意
如果没有使用之前的项目,添加“bExtension” 变量使用 “Bool” 类型。

2.添加对象

  • 切换到 “ImportExportData” 界面。
  • 在画面上插入一个矩形。
  • 如果没有,添加一个符号 IO 域和四个常规 IO 域。
  • 添加一个按钮和五个文本域。
  • 摆放好所有对象并且按照下面输入文本 (如图. 11)。
       
    • "Date"
    • "Value_1"
    • "Value_2"
    • "String_1"
    • "Text file"
    • "Settings" (if not already there)
    • "Extension" (if not already there)
  • 如果没有,创建名称为“Extension”的文本列表,条目名称如下:
     
    • 0 =>  ".txt"
    • 1 =>  ".csv"

3.建立脚本、文本列表和变量间的关联

  • 拷贝 “Write_data” 脚本并且改名为 “Read_data”(在第五点中介绍脚本修改如何处理)。
  • 链接 “Read_data” 脚本到 “Read file” 按钮的 “属性 > 事件 > 点击” 下。
  • 如果之前没有做,连接 “Extension” 文本列表到符号 IO 域 “Extension”。
  • 连接如下的变量到相关的对象上:
     
    变量/脚本对象对象用于...
    szDateIO fieldDate
    iValue_1IO fieldValue_1
    iValue_2IO fieldValue_2
    szString_1IO fieldString_1

4.修改脚本

  • 按照如下表述改变 “Read_data” 脚本。

源代码描述

  • <Lines 10-15> 改变本地变量名称(如图.13)。
  • <Line 18> 改变 “mode” 变量的初始值由 8 (Append)to 1(Input)。
  • <Lines 21-29> 删除 “gap” 变量,它不再需要。

5.修改脚本

  • <Lines 54-60> 删除写入文件部分的脚本。
  • <Lines 54-60> 添加读取文件的脚本(如图. 14)。

6.启动运行

  • 将 WinCC (TIA Portal) 项目传送到操作面板并启动运行。

    注意
    为了调试脚本,启动带脚本调试器的仿真器。
     
  • 单击“Read data”按钮。
  • 在符号 IO 域中选择“.csv”并再次单击按钮。
  • 中止操作面板的运行。

保存数据到文本文件或 CSV 文件的示例

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Python 中,您可以使用 pandas 库中的 read_csv() 和 to_csv() 方法将文本文件转换为 CSV 文件。read_csv() 方法可以将文本文件读取为 DataFrame 对象,而 to_csv() 方法可以将 DataFrame 对象输出为 CSV 文件示例代码如下: ```python import pandas as pd # 读取文本文件为 DataFrame 对象 df = pd.read_csv('data.txt', sep='\t') # 将 DataFrame 对象输出为 CSV 文件 df.to_csv('data.csv', index=False) ``` 这里的 `data.txt` 是您要转换的文本文件名,`sep='\t'` 参数表示文本文件中各字段之间使用制表符分隔。如果您的文本文件中使用逗号或其他分隔符分隔字段,可以将 `sep` 参数设置为对应的分隔符。 在上面的示例代码中,我们首先使用 `pd.read_csv()` 方法将文本文件 `data.txt` 读取为 DataFrame 对象 `df`。接着,我们使用 `df.to_csv()` 方法将 DataFrame 对象 `df` 输出为 CSV 文件 `data.csv`。`index=False` 参数表示在输出 CSV 文件时不包含行索引。 除了以上方法之外,如果您的文本文件格式比较简单,也可以使用 Python 内置的 csv 模块来读取和写入 CSV 文件。使用 csv 模块读取和写入 CSV 文件示例代码如下: ```python import csv # 读取文本文件为列表 with open('data.txt', 'r') as f: reader = csv.reader(f, delimiter='\t') data_list = [row for row in reader] # 将列表输出为 CSV 文件 with open('data.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(data_list) ``` 在上面的示例代码中,我们首先使用 `csv.reader()` 方法读取文本文件 `data.txt` 中的数据,并将其存储为一个列表 `data_list`。然后,我们使用 `csv.writer()` 方法将列表 `data_list` 输出为 CSV 文件 `data.csv`。`newline=''` 参数表示在输出 CSV 文件时不使用额外的换行符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值