㈠ 怎麼用python 編寫 得到本地網頁html中的表格
本地網頁?
如果是一般的網頁,表格是csv格式,或者txt格式,可以用pandas包讀取,舉例:如果是csv格式,這樣寫:
import pandas as pd
df = pd.read_csv('http:\\......') #表格所在的網址
df # 顯示表格數據
如果是txt格式的,把read_csv換成read_table就可以了。
㈡ 用python生成在html中顯示的表格
可以通過寫python腳本製作HTML的form,包括HTML的標簽什麼的
python 有個第三方庫pyh用來生成HTML,可以試用一下:
from pyh import *
page = PyH('This is PyH page')
page << h1(cl='center', 'My big title')
table1 = page << table(border='1',id='mytable1')
headtr = table1 << tr(id='headline')
headtr << td('Head1') << td('Head2')
tr1 = table1 << tr(id='line1')
tr1 << td('r1,c1') <<td('r1,c2')
tr2 = table1 << tr(id='line2')
tr2 << td('r2,c1') <<td('r2,c2')
page.printOut()
㈢ PYTHON爬蟲的分頁問題
分頁,頁面中會有特定的代碼,因為每篇文章的長度不同,要檢查代碼中自動分為幾頁,然後再跟進去抓取下一頁。
㈣ python怎麼動態生成html表格報告
..conn = sqlite3.connect(database='thedbfile')curr = conn.cursor()curr.execute("select * from thetable") tr1 = table1 << tr(id="header")for field in curr.description: tr1 << th(field[0]) for row in curr: tr2 = table1 << tr() for item in row: tr2 << td(item) curr.close()conn.close()...以上代碼基於1L"就是累w_w"的方案進行完善
㈤ 如何用python獲取最簡單的一個html表單
如果你指的是,處理靜態(或動態)網頁,那麼可以參考下面這個代碼:
form = cgi.FieldStorage()
text = form.getvalue('name', 'default')
㈥ python HTML展示表格數據(有合並的單元格)
拷貝一下代碼並保存到本地,然後運行它,再打開那個Demo的鏈接就可以看到效果了
#!/usr/bin/envpython3
fromos.pathimportdirname,abspath,joinasjoinpath
L=[(1,2),(1,2),(1,3),(2,4),(2,5)]
column_names=('列名','數據')
odict=OrderedDict()
fork,vinL:
ifknotinodict:
odict[k]=[v]
else:
odict[k].append(v)
sa='''
<!DOCTYPEHTML>
<metacharset="UTF-8">
<html>
<body>
<tableborder="1"cellpadding="10">
<tr>
<th>{}</th>
<th>{}</th>
</tr>
'''.format(*column_names)
sc='''
</table>
</body>
</html>
'''
sb=[]
tdform='<tdalign="center">{}</td>'.format
fork,vinodict.items():
iflen(v)==1:
sb.append('<tr>')
sb.append(tdform(k))
sb.append(tdform(v))
sb.append('</tr>')
else:
fori,subvinenumerate(v):
sb.append('<tr>')
ifi==0:
sb.append('<tdrowspan="{}"align="center">{}</td>'.format(
len(v),k))
sb.append(tdform(subv))
sb.append('</tr>')
fn='table.html'
ss=sa+' '.join(sb)+sc
try:
frombs4importBeautifulSoup
soup=BeautifulSoup(ss)
ss=soup.prettify()
except:
pass
withopen(fn,'w')asf:
f.write(ss)
print(ss)
print('Demo:file://'+joinpath(abspath(dirname(__file__)),fn))
㈦ Python運行出來的結果怎麼顯示到html上
我大概看了你所提問的內容,你的意思應該是想把從資料庫里所讀取到的內容,保存為html格式文件,方便查看。是這樣吧?
這里我簡單寫了這樣的代碼,代碼的思路是:
創建一個html後綴的文件,然後利用文件操作的相關知識寫入文件,完成後,可以直接打開file.html查看。
和你的思路能對上,你可以讀取資料庫內容,然後格式成html規范,寫入file.html文件。完成後,就可以打開file.html查看你的結果。
以下是我寫的代碼,你參考下:(代碼相對來說比較簡單,這只是給你一個思路,具體你可以依據這個方向進行修改完善)
python3.6環境
#該代碼運行於至少python3.6支持
#功能:把內容保存為html格式文件
withopen('file.html','w')asfile:#以w的模式打開file.html文件,不存在就新建
file.write('<html><body><tableborder=1><tr><th>a列表</th><th>b列表</th></tr><indent>輸出結果:')#使用write寫入字元串內容到file.html
foriinrange(10):#執行一個遍歷操作
a=i#i依次賦值給a,i內容為0,1,2,3,4,5,6,7,8,9
b=i**2#把i的值依次進行i的2次冪操作
file.write("<tr><td>"f'{a}'"</td><td>"f'{b}'"</td></tr>")#使用write寫入字元串內容到file.html
file.write('</indent></table></body></html>')#使用write寫入字元串內容到file.html
python3環境
#該代碼運行於python3
#功能:把內容保存為html格式文件
withopen('file.html','w')asfile:#以w的模式打開file.html文件,不存在就新建
file.write('<html><body><tableborder=1><tr><th>a列表</th><th>b列表</th></tr><indent>輸出結果:')#使用write寫入字元串內容到file.html
foriinrange(10):#執行一個遍歷操作
a=i#i依次賦值給a,i內容為0,1,2,3,4,5,6,7,8,9
b=i**2#把i的值依次進行i的2次冪操作
file.write('<tr><td>{}'.format(a)+'</td><td>{}'.format(b)+'</td></tr>')#使用write寫入字元串內容到file.html
file.write('</indent></table></body></html>')#使用write寫入字元串內容到file.html
純手工,如果對你有幫助望採納!
㈧ python使用plotly生成了多個離線圖表,如何將他們合並成一個html做展示
本人在使用groovy爬取了全國3000+城市的歷史天氣之後,需要把每個城市的歷史天氣都繪制一張Time Series表格,用來反映各地的最高溫最低溫溫差的變化曲線。這里遇到了一個問題,每次plotly繪制完圖標總會調起系統瀏覽器打開呈現,一旦我批量生成N多張表格時,電腦就會卡死了。在使用中文作為文件名的時候遇到了一個錯誤,這個錯誤剛好能巧妙解決這個問題。在不同編碼格式的字元拼接時文件路徑時,會報錯,報錯內容如下:
'ascii' codec can't encode characters in position 69-70: ordinal not in range(128)
然後程序停止運行,但是文件已經生成了。在做了異常處理後,剛好能滿足需求。關於python2.7的編碼問題,並不是很了解為什麼出這個錯。有大神了解的可以分享一下。
python部分的代碼如下:
#!/usr/bin/python
# coding=utf-8
from first.date import DatePlot
import os
from second.MysqlFission import MysqlFission
import shutil
import time
class Fission:
x = []
y = []
z = []
d = []
def __init__(self):
print "歡迎使用fission類!"
# def __init__(self,x,y,z,d):
# def __init__(self,name):
# self.name = name
# print "歡迎使用fission類!"
def getData(self, name):
size = 0;
with open("/Users/Vicky/Documents/workspace/source_api/long/" + name + ".log") as apidata:
for i in apidata:
data = i.split(" ")[0].split("|")[0]
low = i.split(" ")[0].split("|")[1]
high = i.split(" ")[0].split("|")[2]
diff = int(high) - int(low)
self.x.append(data)
self.y.append(low)
self.z.append(high)
self.d.append(diff)
size += 1;
def getDataMarkLine(self, name):
with open("/Users/Vicky/Documents/workspace/source_api/long/" + name + ".log") as apidata:
for i in apidata:
data = i.split(" ")[0].split("|")
day = data[0]
time = float(data[1])
self.x.append(day)
self.y.append(time)
return [self.x, self.y]
if __name__ == "__main__":
names = []
for name in names:
name = u"三沙"
sql = MysqlFission()
sql.getWeather(name)
fission = Fission()
fission.x = []
fission.y = []
fission.z = []
fission.d = []
fission.getData(name)
try:
DatePlot.MakePlotTwo(fission.x, name, high=fission.y, low=fission.z, diff=fission.d)
except BaseException:
print 2
shutil.file(name + ".html", "/Users/Vicky/Desktop/w/" + name + ".html")
os.remove(name + ".html")
time.sleep(5)
下面是北京市的效果圖:
㈨ 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
"sss","tandaly"
...tandaly
"lkkkkkkkkkkksdfssssssssssssss",
34
...34
㈩ 我打算用python去處理html的form表單,該怎麼實現
運用 web.py 框架
例如 index頁面有兩個輸入框
<form action='/index',method='post'>
<input type="text" name="name" id="name" />
<input type="text" name="pwd" id="pwd" />
</form>
那麼 在python 中
class index:
def GET(self, name):
inputall =web.input(name=None,pwd=None)
name= inputall.name
pwd= inputall.pwd
print print name ,pwd
def POST(self, name):
inputall =web.input(name=None,pwd=None)
name= inputall.name
pwd= inputall.pwd
print print name ,pwd
就得到了頁面提交的 name 和pwd