在Javascript中动态循环python列表



在将列表从Python传递到Javascript时,我遇到了这个问题。我需要用javascript循环python列表,以获取列表中的每个元素。所以,你能帮助我如何动态循环列表以从df中获取所有值吗?或者有其他方法可以实现它吗?

以下是代码:.PY文件:

df = pd.read_csv('os.csv')
df = df.fillna('-')
df = df.values.tolist()
return render_template('pdf_test.html',df = df)

python输出:df=[[操作系统版本','Red Hat Enterprise Linux Server 7.6(Maipo('],[操作系统内核版本','3.10.0-957.97.1.el7.x86_64']]

Javascript

<script type="text/javascript">
function saveDiv() 
{
var df1 = '{{df[0]}}'; //it returns first index of the list.How to dynamically loop the list to get all the values from the df.
}
</script>

对不起,没有足够的声誉发表评论,因此作为答案发布。

当您将List传递给JS代码时,您需要将其打印为编码的,通常在PHP中,我们使用json_encode

我找了类似的,也找到了蟒蛇。

json.dumps({'apple': 'cat', 'banana':'dog', 'pear':'fish'})
'{"pear": "fish", "apple": "cat", "banana": "dog"}'

我认为有了这个,您可以打印JSON,JS会将其识别为Array。此外,您还可以执行JS操作。

来源:https://stackoverflow.com/a/983879/20164098

你能用JavaScript获取DOM吗
如果可以,只需使用df生成一个字符串并插入dom即可
例如:如果你的HTML中有一个dom:

<div id='listBlock'></div>

使用javascript:生成dom字符串

const domString = df.map(i => `<div class='list-item'>${i}</div>`)
const listDom = document.getElementById('listBlock')
listDom.appendChild(domString)

最新更新