-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscratch_6.py
More file actions
109 lines (97 loc) · 4.56 KB
/
Copy pathscratch_6.py
File metadata and controls
109 lines (97 loc) · 4.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import csv
c = 645
# 定义生成HTML模板的函数
def generate_html_card(card_type, data):
global c
# 根据不同的card_type生成对应的HTML结构
if card_type == 'ability':
html_template = """
<div class="gwent_card art_size-max card_color-{card_color} card_type-ability card_rarity-{card_rarity} card_faction-{card_faction}">
<div class="card_asset-img art_id-{data_id}p"></div>
<div class="card_asset-border"></div>
<div class="card_asset-banner"></div>
<div class="card_asset-trinket"></div>
<div class="card_asset-leader-provision"><div class="card_asset-leader-{data_provision}"></div></div>
<div class="card_asset-rarity"></div>
</div>
"""
elif card_type == 'unit':
html_template = """
<div class="gwent_card art_size-max card_color-{card_color} card_type-unit card_rarity-{card_rarity} card_faction-{card_faction}">
<div class="card_asset-img art_id-{data_id}p"></div>
<div class="card_asset-border"></div>
<div class="card_asset-provision-icon"></div>
<div class="card_asset-provision"><div class="card_asset-provision-{data_provision}"></div></div>
{card_armor}
<div class="card_asset-banner">
<div class="card_asset-strength-{data_power}"></div>
</div>
<div class="card_asset-rarity"></div>
</div>
"""
elif card_type == 'artifact':
html_template = """
<div class="gwent_card art_size-max card_color-{card_color} card_type-artifact card_rarity-{card_rarity} card_faction-{card_faction}">
<div class="card_asset-img art_id-{data_id}p"></div>
<div class="card_asset-border"></div>
<div class="card_asset-provision-icon"></div>
<div class="card_asset-provision"><div class="card_asset-provision-{data_provision}"></div></div>
<div class="card_asset-banner"></div>
<div class="card_asset-trinket"></div>
<div class="card_asset-rarity"></div>
</div>
"""
elif card_type == 'special':
html_template = """
<div class="card-art">
<div class="gwent_card art_size-max card_color-{card_color} card_type-special card_rarity-{card_rarity} card_faction-{card_faction}">
<div class="card_asset-img art_id-{data_id}p"></div>
<div class="card_asset-border"></div>
<div class="card_asset-provision-icon"></div>
<div class="card_asset-provision"><div class="card_asset-provision-{data_provision}"></div></div>
<div class="card_asset-banner"></div>
<div class="card_asset-trinket"></div>
<div class="card_asset-rarity"></div>
</div>
</div>
"""
else:
return "" # 如果card_type不匹配,返回空字符串
# 根据card_type和data字典生成具体的HTML内容
card_color = data['data-color']
card_rarity = data['data-rarity']
card_faction = data['data-faction']
data_provision = data['data-provision']
data_id = data['data-artid'][:-1]
data_power = data['data-power']
card_armor = "<div class='card_asset-armor'><div class='card_asset-armor-{armor}'></div></div>".format(
armor=data['data-armor']) if data['data-armor'] != '0' else ""
return html_template.format(
card_color=card_color,
card_type=card_type,
card_rarity=card_rarity,
card_faction=card_faction,
data_id=data_id,
data_provision=data_provision,
card_armor=card_armor,
data_power=data_power,
c=c
)
# 读取CSV文件
def read_csv_and_generate_html(input_csv, output_html):
global c
with open(input_csv, mode='r', encoding='utf-8') as infile, open(output_html, mode='w',
encoding='utf-8') as outfile:
reader = csv.DictReader(infile)
for row in reader:
data = row
card_type = data['data-type']
html_card = generate_html_card(card_type, data)
c += 1
if html_card: # 如果生成了HTML内容,则写入文件
outfile.write(html_card + '\n')
# 指定输入输出文件名
input_csv_filename = 'cards.csv' # 替换为您的CSV文件名
output_html_filename = 'cards2.html' # 输出的HTML文件名
# 调用函数生成HTML
read_csv_and_generate_html(input_csv_filename, output_html_filename)