Python を使用して、CSV から値を取得した HTML テーブルのコレクションを生成しようとしています。スクリプトは正常に動作していますが、値が取り込まれる場所に奇数の「¬†」文字が追加されています。
これは、CSV データを取得するために使用したコードです。
import csv
import fileinput
import re
out=open("audiencestats.csv","rU")
data=csv.reader(out)
values =[row for row in data]
metrics = values.pop(0)
out.close()
これにより、html テーブルを作成する関数が作成されます。
def maketable(leftmetric, rightmetric, leftvalue, rightvalue):
template = '''
<table width="99%%" border="1">
<tbody>
<tr>
<td align="center" valign="middle">
<h3>%s</h3>
</td>
<td align="center" valign="middle">
<h3>%s</h3>
</td>
</tr>
<tr>
<td align="center" valign="middle"> %s</td>
<td align="center" valign="middle"> %s</td>
</tr>
</tbody>
</table>
'''
file.write(template % (leftmetric, rightmetric, leftvalue, rightvalue))
次に、テーブルをテキスト ファイルに書き込みます。
for i in values:
filename = "%s.txt" % i[0]
file = open(filename , 'w')
file.write(header)
maketable(metrics[1],metrics[2],i[1],i[2])
maketable(metrics[3],metrics[4],i[3],i[4])
maketable(metrics[5],metrics[6],i[5],i[6])
maketable(metrics[7],metrics[8],i[7],i[8])
maketable(metrics[9],metrics[10],i[9],i[10])
maketable(metrics[11],metrics[12],i[11],i[12])
file.write(header2)
print makesocial(i[13],i[14],i[15])
file.close()
以下の re.sub を for ループに追加しようとしましたが、クロスが残ります。
for line in fileinput.input(inplace=1):
line = re.sub(' ','', line.rstrip())
print(line)
何か不足していますか?私のコンピューターは宗教的になりましたか?
同様に以下にコピーされた出力の例:
<h1>Audience</h1>
<table width="99%" border="1">
<tbody>
<tr>
<td align="center" valign="middle">
<h3>UVs (000)</h3>
</td>
<td align="center" valign="middle">
<h3>PVs (000)</h3>
</td>
</tr>
<tr>
<td align="center" valign="middle"> 580.705</td>
<td align="center" valign="middle"> 1003</td>
</tr>
</tbody>
</table>