古詩詞大全網 - 成語查詢 - python怎樣做html的表格

python怎樣做html的表格

現要實現python制作html格式的表格,利用Python對字符串str.format()格式化操作進行處理,在日常對CVS格式文件處理過程當中,經常會將CVS格式文件進行轉換,在正式場合是程序讀取CVS文件進行轉換並輸出到html格式的文件當中,但現在只是實現壹下轉換的過程,需要輸入以逗號分隔的數據。

在設計程式的時候,需要先定義壹下整個代碼的框架,首先我們要定義壹個主函數main(),雖然Python沒有規定入口函數,壹般在正式的開發中都設計了壹個main()函數作為程序的入口函數,或許這是壹種規範吧。然後我們在定義壹個打印表頭的方法print_head(),並在主函數裏進行調用。再定義壹個打印表尾的方法print_end(),也在主函數中進行調用。定義print_line()為打印表格行,定義extract_field()處理cvs行數據轉換為list集合數據。最後再定義壹個處理特殊符號的方法escape_html(),因為在html代碼中為了避免與它的標簽沖突,特要進行特殊符號的轉換,如&-->&

還有就是對長度過長的數據要進行處理並用...代替

源代碼:

#Author Tandaly

#Date 2013-04-09

#File Csv2html.py

#主函數

def main():

print_head()

maxWidth = 100

count = 0

while True:

try:

line = str(input())

if count == 0:

color = "lightgreen"

elif count%2 == 0:

color = "white"

else:

color = "lightyellow"

print_line(line, color, maxWidth)

count += 1

except EOFError:

break

print_end()

#打印表格頭

def print_head():

print("")

#打印表行

def print_line(line, color, maxWidth):

tr = "".format(color)

tds = ""

if line is not None and len(line) > 0:

fields = axtract_fields(line)

for filed in fields:

td = "{0}".format(filed if (len(str(filed)) <= maxWidth) else

(str(filed)[:100] + "..."))

tds += td

tr += "{0}

".format(tds)

print(tr)

#打印表格尾

def print_end():

print("")

#抽取行值

def axtract_fields(line):

line = escape_html(line)

fields = []

field = ""

quote = None

for c in line:

if c in "\"":

if quote is None:

quote = c

elif quote == c:

quote = None

continue

if quote is not None:

field += c

continue

if c in ",":

fields.append(field)

field = ""

else:

field += c

if len(field) > 0:

fields.append(field)

return fields

#處理特殊符號

def escape_html(text):

text = text.replace("&", "&")

text = text.replace(">", ">")

text = text.replace("<", "<")

return text

#程序入口

if __name__ == "__main__":

main()

運行結果:

>>>

"nihao","wo"

nihaowo

"lsddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsfdddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooosdjfsldkfjsladjfsladjflasjdfljslkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkksssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss","tandaly"

lsdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd...tandaly

"ddddddddddddddddsllsflsdjflsdjfljasfjslfjleiwiwooooooooooosdlsdfkckslslllllwllllllllllllllllllllllllllllllllllllllllllllllllllllllgfdjslfjsdlkkkkkkkkkkksdfssssssssssssss",

34

ddddddddddddddddsllsflsdjflsdjfljasfjslfjleiwiwooooooooooosdlsdfkckslslllllwllllllllllllllllllllllll...34