求助:如何将CSV文件解析为指定格式的HTML Div列表
解决CSV转指定Div列表的实用方案
针对你需要将CSV数据填充到特定Div模板的需求,这里提供几个高效的实现方法:
方法一:Python脚本(适合批量处理,灵活可控)
对于325行的数据,用Python脚本可以快速完成批量替换,步骤如下:
- 准备好你的CSV文件,确保列顺序为
Page Links | Image Links | Title | Main Authors | Category | Year - 运行以下脚本(记得替换
your_file.csv为你的文件名):
import csv # 定义目标HTML模板,用占位符对应CSV字段 html_template = """<hr><div grid-row="" grid-pad="2" grid-gutter="4" grid-responsive=""> <div grid-col="x8" grid-pad="2" class="list-img"> <a href="{page_link}" rel="history"><img style="width: 100%;" src="{img_link}" /></a> </div> <div grid-col="x8" grid-pad="2"><div style="text-align: left;"><b>{title}</b></div></div> <div grid-col="x8" grid-pad="2"><div style="text-align: left;">{authors}</div></div> <div grid-col="x8" grid-pad="2" class=""><div style="text-align: left;">{category}</div></div> <div grid-col="x8" grid-pad="2" class=""><div style="text-align: left;">{year}</div></div> </div> """ # 读取CSV并生成最终HTML output_content = "" with open("your_file.csv", "r", encoding="utf-8") as csv_file: # 指定分隔符为|,并读取表头 csv_reader = csv.DictReader(csv_file, delimiter="|") for row in csv_reader: # 替换模板占位符,同时清理字段前后的空格 item_html = html_template.format( page_link=row["Page Links"].strip(), img_link=row["Image Links"].strip(), title=row["Title"].strip(), authors=row["Main Authors"].strip(), category=row["Category"].strip(), year=row["Year"].strip() ) output_content += item_html # 将结果保存为HTML文件 with open("output.html", "w", encoding="utf-8") as output_file: output_file.write(output_content)
运行后会生成output.html,里面就是所有行对应的Div结构。
方法二:Excel公式拼接(适合不熟悉编程的用户)
如果你习惯用Excel操作,可以用单元格公式直接拼接HTML:
- 将CSV导入Excel,确保各列对应:
- A列:Page Links
- B列:Image Links
- C列:Title
- D列:Main Authors
- E列:Category
- F列:Year
- 在G2单元格输入以下公式(注意Excel中双引号需要用两个转义):
="<hr><div grid-row="" grid-pad=""2"" grid-gutter=""4"" grid-responsive=""><div grid-col=""x8"" grid-pad=""2"" class=""list-img""><a href="""&A2&""" rel=""history""><img style=""width: 100%;"" src="""&B2&""" /></a></div><div grid-col=""x8"" grid-pad=""2""><div style=""text-align: left;""><b>"&C2&"</b></div></div><div grid-col=""x8"" grid-pad=""2""><div style=""text-align: left;"">"&D2&"</div></div><div grid-col=""x8"" grid-pad=""2"" class=""><div style=""text-align: left;"">"&E2&"</div></div><div grid-col=""x8"" grid-pad=""2"" class=""><div style=""text-align: left;"">"&F2&"</div></div></div>"
- 下拉G2单元格填充所有行,然后复制G列的所有内容,粘贴到文本编辑器中保存为HTML文件即可。
方法三:文本编辑器正则替换(适合快速临时处理)
如果你用VS Code、Sublime Text等支持正则的编辑器:
- 将CSV文件用编辑器打开,确保每行是一条数据,字段用
|分隔 - 打开替换功能,启用正则模式
- 查找正则:
^(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*)$ - 替换为你的模板,用
$1到$6对应CSV的6个字段:
<hr><div grid-row="" grid-pad="2" grid-gutter="4" grid-responsive=""><div grid-col="x8" grid-pad="2" class="list-img"><a href="$1" rel="history"><img style="width: 100%;" src="$2" /></a></div><div grid-col="x8" grid-pad="2"><div style="text-align: left;"><b>$3</b></div></div><div grid-col="x8" grid-pad="2"><div style="text-align: left;">$4</div></div><div grid-col="x8" grid-pad="2" class=""><div style="text-align: left;">$5</div></div><div grid-col="x8" grid-pad="2" class=""><div style="text-align: left;">$6</div></div></div>
- 执行全部替换,即可得到所有行的Div结构。
内容的提问来源于stack exchange,提问作者Kheperah Ray
相关产品推荐
相关产品推荐

