首页 > 解决方案 > 如何使用来自数据框列的值作为每个数据框行的文件名创建一个 html 文件?

问题描述

我有一个带有ID列的 csv 文件。我想知道是否可以从我的数据框中获取每个 ID 值并将其保存为单独的 html 文件,其中 ID 值作为文件名,ID 分配为该 html 文件中的变量。

我的.csv

ID    Name
1     ACME
2     EMCA
#and so on...

本地目录中的所需输出:

/path/to/my/1.html
/path/to/my/2.html 

每个 html 文件都应声明 ID 变量和 html 模板:

<!DOCTYPE html>
<html>
<head>
    <script>
var ID="1";
document.title = ID;
</script>   
</head>
<body>
#I want to pass ID as a text and class in my html file
<div class='1'>My First 1</div> 

<p>My first paragraph.</p>

</body>
</html>

到目前为止我的代码:

import numpy as np
from pandas import *
import pandas as pd
data = pd.read_csv("/path/to/my.csv", quotechar='"')
for i in data['ID']:
    id_filename = str(i)
    data.to_html('/path/to/my/'+id_filename+'.html')

如何将 HTML 代码写入以名称中的 ID 值保存的 HTML 文件?

标签: htmlpandas

解决方案


像这样的东西?

data = pd.read_csv("/path/to/my.csv", quotechar='"')

for ID in in data['ID']:
    toWrite = f"""
    <!DOCTYPE html>
    <html>
    <head>
        <script>
    var ID="{ID}";
    document.title = ID;
    </script>   
    </head>
    <body>
    #I want to pass ID as a text and class in my html file
    <div class='{ID}'>My First {ID}</div> 

    <p>My first paragraph.</p>

    </body>
    </html>
     """
    
    with open(f'/path/to/my/{ID}.html', "w") as file:
        file.write(toWrite)

推荐阅读