設計程序時,我們需要先定義整個代碼的框架。首先,我們需要定義壹個主函數main()。雖然Python並沒有指定入口函數,但是我們通常會設計壹個main()函數作為形式開發中程序的入口函數。也許這是壹種規範。然後我們定義壹個打印頭方法print_head()並在main函數中調用它。然後定義壹個print_end()方法打印頁腳,並在main函數中調用它。定義print_line()打印表格行,定義extract_field()將cvs行數據轉換為列表集數據。最後定義了壹個處理特殊符號的方法escape_html(),因為為了避免與其標簽沖突,需要轉換特殊符號,比如&;-& gt;& amp
還需要處理過長的數據,並用...
源代碼:
#作者坦達利
#日期2013-04-09
#文件Csv2html.py
#主要功能
def main():
print_head()
maxWidth = 100
計數= 0
雖然正確:
嘗試:
line = str(input())
如果count == 0:
color = "淺綠色"
elif計數%2 == 0:
color = "白色"
否則:
color = "淺黃色"
print_line(線條,顏色,最大寬度)
計數+= 1
EOFError除外:
破裂
print_end()
#打印表格標題
def print_head():
打印("")
#打印表格行
def print_line(line,color,maxWidth):
tr = " "。格式(顏色)
tds = " "
如果line不為None且len(line)>0:
fields = axtract_fields(行)
對於字段中的字段:
TD =“{ 0 }”。format(filed if(len(str(filed))& lt;= maxWidth)否則
(str(filed)[:100] +" ... "))
tds += td
tr += "{0}
".格式(tds)
打印(tr)
#打印頁腳
def print_end():
打印("")
#提取行值
def axtract_fields(行):
line = escape_html(line)
fields = []
字段= " "
報價=無
對於直線上的c:
如果c在“\”中:
如果報價為無:
報價= c
elif quote == c:
報價=無
繼續
如果報價不是無:
字段+= c
繼續
如果c在","中:
fields.append(field)
字段= " "
否則:
字段+= c
if len(field)>0:
fields.append(field)
返回字段
#處理特殊符號
def escape_html(文本):
text = text . replace(& amp;," & amp)
text = text . replace(" & gt;," >)
text = text.replace("<," & lt)
返回文本
#程序條目
if __name__ == "__main__ ":
主()
運行結果:
& gt& gt& gt
《倪好》、《禾》
妳好我
" lsddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
lsdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd...坦達利
" dddddddddddddddslsflsdjfjfljasfjslfjleiwoooooooooooosdlsddfkckslsllll llll llll llll llll llll llll lll lll llglfdjslfjsdlkkkkkkkkkkksdfssssssssssssss ",
34
dddddddddddddddddslsflsdjffljasfjslfjleiwiwoooooooooooooosdlsddfkckslsllllll llll llll llll llll llll llll...34