在将列表从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)