Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除节点中数组周围的引号?_Javascript_Node.js_Data Visualization - Fatal编程技术网

Javascript 如何删除节点中数组周围的引号?

Javascript 如何删除节点中数组周围的引号?,javascript,node.js,data-visualization,Javascript,Node.js,Data Visualization,我用python处理了一个数据,并以JSON格式保存了该文件 但是,在node.js中使用JSON文件时,在获取JSON文件后遇到了一个问题 那是 JSON文件如下所示 { "title": "Christmas Eggnog", "ingredients": "['whites', 'yolks', 'sugar', 'rye', 'whiskey', 'brandy', 'rum', 'cream']&qu

我用python处理了一个数据,并以JSON格式保存了该文件

但是,在node.js中使用JSON文件时,在获取JSON文件后遇到了一个问题 那是

JSON文件如下所示

{
    "title": "Christmas Eggnog",
    "ingredients": "['whites', 'yolks', 'sugar', 'rye', 'whiskey', 'brandy', 'rum', 'cream']",
    "id": "05zEpbSqcs9E0rcnCJWyZ9OgdH0MLby"
},
import pandas as pd

df = pd.read_csv('./test.csv')

ingredients = df['ingredients']

for i in range(len(ingredients)):
    ingredients[i]=str(ingredients[i])[1:-1]

ingredients

df['ingredients']=ingredients

df.to_csv ('./datatest.csv', index = False, header=True)
配料必须是一个普通数组,但它是一个用引号括起来的数组。 它最终使我们无法按预期读取这个json文件

{
    "title": "Christmas Eggnog",
    "ingredients": ["whites", "yolks", "sugar", "rye", "whiskey", "brandy", "rum", "cream"],
    "id": "05zEpbSqcs9E0rcnCJWyZ9OgdH0MLby"
},
我想得到如下所示的日志值。当我在节点中读取这个JSON文件时

const fs = require('fs');

let predata = fs.readFileSync('./data/testonce.json')
let data = JSON.parse(predata)
let newData = [];
data.forEach((d) => {
    newData.push((d) => {
        let targetarray = d.ingredients.split(',')
        return {...d, ingredients: targetarray }
    })
})

console.log(newData[0])
//"whites"
我无法获取字符串“white”,因为node不理解
“[‘白’、‘蛋黄’、‘糖’、‘黑麦’、‘威士忌’、‘白兰地’、‘朗姆酒’、‘奶油’]”是一个数组。
节点将其视为一个长字符串

如何将此字符串转换为普通数组

(编辑)

我的python代码如下所示

{
    "title": "Christmas Eggnog",
    "ingredients": "['whites', 'yolks', 'sugar', 'rye', 'whiskey', 'brandy', 'rum', 'cream']",
    "id": "05zEpbSqcs9E0rcnCJWyZ9OgdH0MLby"
},
import pandas as pd

df = pd.read_csv('./test.csv')

ingredients = df['ingredients']

for i in range(len(ingredients)):
    ingredients[i]=str(ingredients[i])[1:-1]

ingredients

df['ingredients']=ingredients

df.to_csv ('./datatest.csv', index = False, header=True)
在此之后,我在这个网站上使用了csv->json格式化程序。 图片描述在此]]

(编辑)

这是csv文件链接

we.tl/t-KW435QPND

看起来像这样

编辑)示例csv文本 这是示例csv文本

标题、成分、id 圣诞蛋酒,“[‘白’、‘蛋黄’、‘糖’、‘黑麦’、‘威士忌’、‘白兰地’、‘朗姆酒’、‘奶油’””,05zEpbSqcs9E0rcnCJWyZ9OgdH0MLby “小牛肉、胡萝卜和栗子拉果”、“[‘栗子’、‘小牛肉’、‘炖肉’、‘肉’、‘油’、‘洋葱’、‘大蒜’、‘叶’、‘盐’、‘鸡汤’、‘葡萄酒’、‘胡萝卜’、‘鼠尾草’”),mF5SZmoqxF4WtIlhLRvzuKk.z6s7P2S 巧克力肉桂焦糖面包布丁,“[‘黄油’、‘奶油干酪’、‘优质’、‘面包’、‘面包皮’、‘鸡蛋’、‘蛋黄’、‘棕色’、‘糖’、‘奶油’、‘牛奶’、‘香草’、‘肉桂’、‘肉豆蔻’、‘犹太食盐’、‘巧克力’、‘顶级’”,oQV5D7cVbCFwmrDs3pBUv2y.AG0WV26 雪莉史迪尔顿和青椒玉米酱,“[‘史迪尔顿’、‘奶油奶酪’、‘胡椒’、‘盐水’、‘雪莉’”,Z9SEBJWAB5NKSP4DQHDNCAUBTOWV/1u 杏仁巧克力杏仁饼,“[‘杏仁’、‘糖’、‘肉桂’、‘盐’、‘蛋’、‘杏仁’、‘半甜’、‘巧克力’””,BB3GxOaplvzeox3FzWnWyectQFxW6G
白沙司或贝克汉姆沙司,“[‘黄油’、‘面粉’、‘牛奶’、‘盐’、‘胡椒’”,FHQAJvovVtPyKWlzgFEHgSUJsCM2Tjq

我同意蒂埃里·拉特维尔解决生产商的问题。如果您想在这里修补它,我会将字符串解析为JSON并替换它:

data.forEach(r => {
    r.ingredients = JSON.parse(r.ingredients);
}

因为它是一个字符串,所以需要去掉不需要的坏位,然后将字符串的剩余部分转换为数组

var list = "['whites', 'yolks', 'sugar', 'rye', 'whiskey', 'brandy', 'rum', 'cream']".replace(/[\[\]["',]/g,'').split(" ");
replace使用正则表达式删除“'”、[]个字符,拆分将字符串按剩余的空格切分,并将其转换为数组

console.log(list);
0: "whites"
1: "yolks"
2: "sugar"
3: "rye"
4: "whiskey"
5: "brandy"
6: "rum"
7: "cream"
length: 8
__proto__: Array(0)
const json={
“标题”:“圣诞蛋酒”,
“配料”:“[‘白’、‘蛋黄’、‘糖’、‘黑麦’、‘威士忌’、‘白兰地’、‘朗姆酒’、‘奶油’”,
“id”:“05zEpbSqcs9E0rcnCJWyZ9OgdH0MLby”
}
const-components=json.components.substr(1,json.components.length-2)
const ingredientsList=components.split(',').map(item=>item.substr(1,item.length-2))

console.log(IngreditsList)
请添加生成JSON的python代码。这是否回答了您的问题?真正的问题在于创建此“错误”JSON的代码,因此这是需要更正的部分。@LelioFaieta No.@KrishnaChaurasia我添加了我的python代码,谢谢