我正在尝试读取列表,值可以是单个,也可以有逗号分隔的多个条目,我的目标是为列表中的第一个值附加href链接,col [0]即,我遇到了编译错误
INPUT:-
cols=['409452, 12345', '', '', 'This a test python script']
EXPECTED OUTPUT:-
<tr>
<td><a href=http://data/409452>409452,<a href=http://data/12345>12345</a></td>
<td></td>
<td></td>
<td>This a test python script</td>
Python代码: -
cols=cols=['409452, 12345', '', '', 'This a test python script']
TEMPLATE = [' <tr>']
for col in cols:
value = col.split(",")
TEMPLATE.append(
' <td><a href=http://data/{}> {}</a></td>'.format(value)
TEMPLATE.append(' </tr>')
TEMPLATE = '\n'.join(TEMPLATE)
print TEMPLATE
Output I am getting:-
TEMPLATE.append(' </tr>')
^
SyntaxError: invalid syntax
答案 0 :(得分:3)
您尚未向我们展示您的实际代码(因为该示例中没有13行,但您的错误消息显示第13行上的错误)。但是,在这种情况下,我认为答案相当简单......仔细看看这一行:
TEMPLATE.append(
' <td><a href=http://data/{}> {}</a></td>'.format(value)
删除字符串使其更明显:
TEMPLATE.append(''.format(value)
正如您所看到的,您错过了结束)
。
答案 1 :(得分:2)
除了其他人提到的遗失)
之外,您对格式的使用不正确(need to use *value
to have it look for items in the array)。 (您对cols的定义也有错误的缩进,并且有一个额外的cols=
。)
此代码有效:
cols=['409452, 12345', '', '', 'This a test python script']
TEMPLATE = [' <tr>']
for col in cols:
if "," in col:
value = col.split(",")
value[:] = ['<a href=http://data/{0}>{0}</a>'.format(id.strip()) for id in value]
col = ','.join(value)
TEMPLATE.append(' <td>{}</td>'.format(col))
TEMPLATE.append(' </tr>')
TEMPLATE = '\n'.join(TEMPLATE)
print TEMPLATE
输出:
<tr>
<td><a href=http://data/409452>409452</a>,<a href=http://data/12345>12345</a></td>
<td></td>
<td></td>
<td>This a test python script</td>
</tr>