用 csv 值替换文本文件中的字符串

用 csv 值替换文本文件中的字符串

我有一个 txt 文件 ( template.txt),其中包含以下内容:

Hostname from Client: !hostname . OS !windowsversion

以及来自许多客户的 CSV 导出:

!hostname, !windowsversion
exampleName, Windows10-Pro

template.txt我只是在寻找一种解决方案,用我的 CSV 中的列/值替换其中的值(!) 。

CSV 文件包含多行客户信息,我需要将其放入我的template.txt文件中。我不想手动做 200 次。

所以我的目标是将template.txt文件转换为以下输出:

Hostname from Client: exampleName . OS Windows10-Pro

有没有办法实现自动化?我只是在考虑使用sed正则表达式grep或类似的东西。

答案1

使用 Python 将 CSV 值导入模板文本文件template.txt

from csv import reader, writer
with open("csv-export.csv") as f, open("template.txt", 'w') as g:
    reader_obj = reader(f)
    writer_obj = writer(g)
    # Skip header row.
    next(reader_obj)
    for row in reader_obj:
        writer_obj.writerow([f'Hostname from Client: {row[0]} . OS{row[1]}'])

示例输出template.txt

Hostname from Client: exampleName . OS Windows10-Pro
Hostname from Client: 2ndname . OS Windows-8
Hostname from Client: 3rdname . OS Windows-XP

相关内容