csv 如何搜索没有给定属性的数组对象?

vwkv1x7d  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(162)

我正在创建一个小应用程序,它可以根据条形码搜索.csv文件中的行。她必须处理的对象没有我通常看到的property:value结构。此外,每个文件夹都有不同的数据集,所有这些都有这些类型的对象。

标准(?)对象结构:{名称:“孟加拉国”,洲:“亚洲”},{名称:“葡萄牙”,洲:“欧洲”}
.csv文件对象:{“007 B3”:“007 B3”“A01”:“A01”“21018514 T1”:“21018514 T1”}

对于所有96个文件,第一个prop:瓦尔保持不变,第二个和第三个prop:val对都不同。
如何使用第三个prop:瓦尔(条形码)对搜索对象?
我还没有在网上看到任何关于如何处理这种结构的东西。当我控制.log()文件时,.csv文件看起来像一个“正常”对象,但我不知道如何用这样的对象搜索这些文件。任何帮助都将不胜感激!

t40tm48m

t40tm48m1#

如果你有一个JSON格式的普通结构,那么它很容易修改和搜索

[ 
  { name: "Bangladesh", continent: "Asia" }, 
  { name: "Portugal", continent: "Europe" } 
]

在您的示例中,数据看起来像JSON结构,但实际上不是:
{ "007B3":"007B3" "A01":"A01" "21018514T1":"21018514T1" }
如果结构不是JSON,但仍然有些结构化,那么可以将其视为字符串,为此,正则表达式是完美的。
使用正则表达式对目标字符串执行操作有不同的方法,这取决于具体的需要。它可以被拆分,或者被捕获到元素中。
一个示例是应用(?:"\w+":"\w+"\s){2}"(\w+)":"(\w+)",它将分别捕获最后两个元素:

$1 ==> 21018514T1
      $2 ==> 21018514T1

正则表达式可以根据特定需要进行修改。例如,(?:"\w+":"\w+"\s){2}("\w+":"\w+")捕获$1 ==> "21018514T1":"21018514T1"

相关问题