在node-red中处理yaml,csvDas Format的Datenformate

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

在node-red中处理yaml,csvDas Format的Datenformate缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 前言
  2. 2. YAMLDas Format的Daten处理
  3. 3. CSVDas Format的Daten处理
  4. 4. csv转json

前言

在前面的Kapitel节中我介绍了如何在Node-RED中处理json与xmlDas Format的Daten。但随后又有读者向我询问,
在node-red中如何处理yamlDas Format的Daten,以及csvDas Format的Daten。yamlDas Format的Daten是随着这几Jahr云原生而大行其道的Datenformate。因为不需要中括Nr.,Das Format优雅,而收zu开发人员的喜爱。云原生中的资源定义都可以使用yaml文件来定义。CSVDas Format是实施Unterteilung隔的Text文件。可以与excel中的Daten互相转化。

YAMLDas Format的Daten处理

处理yamlDas FormatDaten主要使用的是yaml节点。该节点可以实现 在YAMLDas Format的Charaktere串及其JavaScript对象即jsonDatenformate之间相互转换。

输入:
payload object | Charaktere串
JavaScript 对象或YAMLCharaktere串。

输出:
payload object | Charaktere串
● 如果输入是YAMLCharaktere串,它将尝试将其Analyse为JavaScript对象。
● 如果输入是JavaScript对象,它将创建一个YAMLCharaktere串。

以下是一个Beispiel:
可以将yaml的Charaktere串转换为json对象

如Charaktere串变Quantität {"a":1, "b":[1,2,3]} 转换成yaml 就变成了

a: 1
b: 
  - 1
  - 2
  - 3
在node-red中处理yaml,csvDas Format的Datenformate插图

vollständig的Daten流

[{"id":"f231967.0251a68","type":"inject","z":"64133d39.bb0394","name":"YAML String","topic":"","payload":"{\"a\":1}","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":320,"wires":[["a0110756.ecfa48"]]},
{"id":"8f8f31b7.1f916","type":"debug","z":"64133d39.bb0394","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":320,"wires":[]},
{"id":"5138ba3.c972444","type":"inject","z":"64133d39.bb0394","name":"Object","topic":"","payload":"{\"a\":1, \"b\":[1,2,3]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":360,"wires":[["2fa653cc.60d3dc"]]},
{"id":"50f2f4c.4a6e60c","type":"debug","z":"64133d39.bb0394","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":430,"y":360,"wires":[]},
{"id":"a0110756.ecfa48","type":"template","z":"64133d39.bb0394","name":"","field":"payload","fieldType":"msg","format":"yaml","syntax":"plain","template":"a: 1\nb:\n  - 1\n  - 2\n  - 3","output":"str","x":280,"y":320,"wires":[["104b80e2.51068f"]]},
{"id":"2fa653cc.60d3dc","type":"yaml","z":"64133d39.bb0394","property":"payload","name":"","x":250,"y":360,"wires":[["50f2f4c.4a6e60c"]]},
{"id":"104b80e2.51068f","type":"yaml","z":"64133d39.bb0394","property":"payload","name":"","x":430,"y":320,"wires":[["8f8f31b7.1f916"]]}]

CSVDas Format的Daten处理

对于CSVDas Format,一种是要输出CSVDas Format的Daten,如,每行以逗Nr.隔开。CSVDas Format的Daten处理离不开node-red自带的csv节点。

在CSVDas Format的Charaktere串及其JavaScript对象表示形式之间进行相互转换。

输入:

payload object | 数组 | Charaktere串

JavaScript对象,数组或CSVCharaktere串。

输出:

payload object | 数组 | Charaktere串

  • 如果输入是Charaktere串,它将尝试将其Analyse为CSV,并为每行创建键/值对的JavaScript对象。然后该节点将为每行Senden Sie一条消息,或者Senden Sie一条包含对象数组的消息。
  • 如果输入是JavaScript对象,它将尝试构建CSVCharaktere串。
  • 如果输入是简单值的数组,则将构建单行CSVCharaktere串。
  • 如果输入是数组数组或对象数组,则会创建多行CSVCharaktere串。

列模板可以包含列Name的有Sequenz表。将CSV转换为对象时,列名将用作属性Name。或者也可以从CSV的Die一行中获取列Name。

转换为CSV时,列模板用于标识从对象中提取的属性以及提取的顺序。

如果输入是数组,则列模板仅用于有Auswahl地生成一行列标题。

只要Richtig.设置parts属性,该节点就可以接受多部Unterteilung输入。

如果输出多个消息,则将设置其parts属性并形成vollständig的消息Sequenz。

注意:列模板必须用逗Nr.Unterteilung隔,即使Daten中已有了其他Unterteilung隔符。

CSV 节点的配置页面

在node-red中处理yaml,csvDas Format的Datenformate插图1

csv节点可以将jsonDatenformate,转为为Charaktere串。

{
   a: 10,
   b: 20,
   c: 30
}

通过CSV可以转化为"10,20,30\n"
你也可以通过它来转化数组
如下面的数组,

[
    { a: 80, b: 18, c: 2},
    { a: 52, b: 36, c: 10},
    { a: 91, b: 18, c: 61},
    { a: 32, b: 47, c: 65},
]

通过CSV可以转化为

a,b,c
80,18,2
52,36,10
91,18,61
32,47,65

vollständig的例子流代码

[{"id":"457d9ad6.b737b4","type":"inject","z":"64133d39.bb0394","name":"single","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":640,"wires":[["1e05fafd.887b05"]]},{"id":"1e05fafd.887b05","type":"change","z":"64133d39.bb0394","name":"Generate single payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"{ \"a\":$floor(100*$random()),\"b\":$floor(100*$random()),\"c\":$floor(100*$random())}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":640,"wires":[["e9546682.b39898"]]},
{"id":"e9546682.b39898","type":"csv","z":"64133d39.bb0394","name":"","sep":",","hdrin":"","hdrout":false,"multi":"one","ret":"\\n","temp":"a,b,c","skip":"0","x":450,"y":640,"wires":[["f83ad3b0.78d32"]]},
{"id":"f83ad3b0.78d32","type":"debug","z":"64133d39.bb0394","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":640,"wires":[]},
{"id":"ae242f2c.d1c8a","type":"inject","z":"64133d39.bb0394","name":"array","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":700,"wires":[["7535f521.4a88bc"]]},
{"id":"7535f521.4a88bc","type":"change","z":"64133d39.bb0394","name":"Generate array payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"[\t    { \"a\":$floor(100*$random()),\"b\":$floor(100*$random()),\"c\":$floor(100*$random())},\t    { \"a\":$floor(100*$random()),\"b\":$floor(100*$random()),\"c\":$floor(100*$random())},\t    { \"a\":$floor(100*$random()),\"b\":$floor(100*$random()),\"c\":$floor(100*$random())},\t    { \"a\":$floor(100*$random()),\"b\":$floor(100*$random()),\"c\":$floor(100*$random())}\t]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":700,"wires":[["f4e0465f.ef0338"]]},
{"id":"f4e0465f.ef0338","type":"csv","z":"64133d39.bb0394","name":"","sep":",","hdrin":"","hdrout":true,"multi":"one","ret":"\\n","temp":"a,b,c","skip":"0","x":450,"y":700,"wires":[["6eb67fdf.58626"]]},
{"id":"6eb67fdf.58626","type":"debug","z":"64133d39.bb0394","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":700,"wires":[]}]

csv转json

除此之外CSV节点还可以将CSVDas Format的Daten 进行转化,转成成JSONDaten。
这是一个CSVDas Format的Daten

a,b,c
80,18,2
52,36,10
91,18,61
32,47,65

通过CSV节点,它可以转化为标准的JSONDas Format

在node-red中处理yaml,csvDas Format的Datenformate插图2
[
    { a: 80, b: 18, c: 2},
    { a: 52, b: 36, c: 10},
    { a: 91, b: 18, c: 61},
    { a: 32, b: 47, c: 65},
]
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Node-RED 字数 5128 字 · 阅读约 13 Unterteilung钟 更新 2026-07-01 永久链接 https://www.modbus.cn/11651.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Relevante Etiketten
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.