㈠ 怎么用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