我正在调用节点js中的python脚本,该脚本会根据用户搜索返回一组提示。但是,运行node js文件时得到的输出是-
WSU3N1GU8
Empty DataFrame
Columns: [name, id, number]
Index: []
但是,输出也在终端中被打印出来,只是我无法在节点中接收过滤的数据帧。我试图将其转换为字符串,然后发送输出,但它似乎不起作用。我不确定为什么它发送一个空的数据框。这是我的python代码:
nested = json.loads(r.text)
nested_full = json_normalize(nested)
req_data= json_normalize(nested,record_path ='items')
search = req_data.get(["name", "id", "number"])
filter = sys.argv[1:]
input = filter[0]
print(input)
result = search[search["name"].str.contains(input)]
response = '```' + repr(result) + '```'
print(response)
sys.stdout.flush()
这是调用python脚本的节点js代码。我希望能够在节点中以字符串形式接收输出,然后将其传递给另一个函数-
const processData = async function(userText,result,res) {
const childProcess = require("child_process").spawn('python', ['./search.py', userText], {stdio: 'inherit'})
childProcess.on('data', (data) => {
console.log(`stdout: ${data}`);
console.log(data.toString());
const result = res.write(data);
res.end('end');
callback(result);