Ryf*_*lex 0 python csv python-2.7
使用下面的示例CSV数据,我试图找到一种方式,以格式,清晰的方式在线发布他们的测试核心...
School,Class,Data,Student,Data,Data,testscore
West,1B,Data,StudentA,Data,Data,55.42452912
West,1B,Data,StudentB,Data,Data,32.22219
West,2A,Data,StudentC,Data,Data,49.242
West,2A,Data,StudentD,Data,Data,23.42452912
East(LMK),2,Data,StudentE,Data,Data,13.42452912
North,B,Data,StudentF,Data,Data,15.42452912
North,B,Data,StudentG,Data,Data,93.42
Run Code Online (Sandbox Code Playgroud)
例如,根据以上数据,我想发布:
---------------------------------
West | 1B | StudentA | 55.42
West | 1B | StudentB | 32.22
---------------------------------
West | 2A | StudentC | 9.24
West | 2A | StudentD | 23.42
---------------------------------
East(LMK) | 2 | StudentE | 13.42
---------------------------------
North | B | StudentF | 15.42
North | B | StudentG | 93.42
---------------------------------
Run Code Online (Sandbox Code Playgroud)
是否有某种方式我可以把它放入一个简单的html,php,css ...等等,以使它在网站上阅读很好?
基本上,它需要他们的学校,班级,学生名和测试核心(到2DP)并在表格中将其格式化为基于他们的学校+班级的部分作为唯一标识符.
有谁知道如何最好地实现这一点,我意识到这可能是一个非常复杂的脚本.
显然,在创建文件后,我将使用ftp lib将其发送到网络服务器
谢谢
- Hyflex
我今天感觉很好,所以我写了一个应该有用的片段.我没有费心插入水平线,但如果它对你很重要,你可以自己实现.
import csv
def get_html_table(data):
s = '<table>\n'
for row in data:
s += '<tr>'
for cell in row:
s += r'<td>{}</td>'.format(cell)
s += '</tr>\n'
s += '</table>'
return s
with open('testscore.txt') as ifile, open('output.html', 'wb') as ofile:
data = []
for row in list(csv.reader(ifile))[1:]:
data.append([row[0], row[1], row[3], '{0:0.2f}'.format(float(row[6]))])
ofile.write(get_html_table(data))
Run Code Online (Sandbox Code Playgroud)
testscore.txt:
School,Class,Data,Student,Data,Data,testscore
West,1B,Data,StudentA,Data,Data,55.42452912
West,1B,Data,StudentB,Data,Data,32.22219
West,2A,Data,StudentC,Data,Data,49.242
West,2A,Data,StudentD,Data,Data,23.42452912
East(LMK),2,Data,StudentE,Data,Data,13.42452912
North,B,Data,StudentF,Data,Data,15.42452912
North,B,Data,StudentG,Data,Data,93.42
Run Code Online (Sandbox Code Playgroud)
output.html:
<table>
<tr><td>West</td><td>1B</td><td>StudentA</td><td>55.42</td></tr>
<tr><td>West</td><td>1B</td><td>StudentB</td><td>32.22</td></tr>
<tr><td>West</td><td>2A</td><td>StudentC</td><td>49.24</td></tr>
<tr><td>West</td><td>2A</td><td>StudentD</td><td>23.42</td></tr>
<tr><td>East(LMK)</td><td>2</td><td>StudentE</td><td>13.42</td></tr>
<tr><td>North</td><td>B</td><td>StudentF</td><td>15.42</td></tr>
<tr><td>North</td><td>B</td><td>StudentG</td><td>93.42</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
通常,您应该使用csv模块读取数据,并使用genshi(检查genshi.builder)来生成您的html.
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |