Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python数据帧另存为HTML页面_Python_Html_Pandas - Fatal编程技术网

Python数据帧另存为HTML页面

Python数据帧另存为HTML页面,python,html,pandas,Python,Html,Pandas,我试图将Python数据框中定义的内容保存为HTML页面。此外,我想让这个表保存为HTMLtable,以便根据任何列的值进行过滤。你能提供可能的解决方案吗?最后,该表应另存为HTMLpage。我想将此代码合并到我的Python代码中。谢谢您可以使用 例子: 这将把以下html保存到filename.html 输出: foo1 食物2 0 -0.223430 -0.904465 1. 0.317316 1.321537 .to_html()也可用于创建html字符串 import io imp

我试图将
Python数据框中定义的内容保存为
HTML
页面。此外,我想让这个表保存为
HTML
table,以便根据任何列的值进行过滤。你能提供可能的解决方案吗?最后,该表应另存为
HTML
page。我想将此代码合并到我的
Python
代码中。谢谢

您可以使用

例子: 这将把以下html保存到
filename.html

输出:

foo1
食物2
0
-0.223430
-0.904465
1.
0.317316
1.321537
.to_html()也可用于创建html字符串

import io
import pandas as pd
from numpy.random import randn

df = pd.DataFrame(
    randn(5, 4),
    index = 'A B C D E'.split(),
    columns = 'W X Y Z'.split()
)

str_io = io.StringIO()

df.to_html(buf=str_io, classes='table table-striped')

html_str = str_io.getvalue()

print(html_str)

W
X
Y
Z
A.
0.302665
1.693723
-1.706086
-1.159119
B
-0.134841
0.390528
0.166905
0.184502
C
0.807706
0.072960
0.638787
0.329646
D
-0.497104
-0.754070
-0.943406
0.484752
E
-0.116773
1.901755
0.238127
1.996652

以下是一种不使用html编写pandas表的方法,还包括一个外部样式表:

html_string_start = '''
<html>
  <head><title>Report Title</title></head>
  <link rel="stylesheet" type="text/css" href="mystyle.css"/>
  <body>
'''
html_string_end = '''
  </body>
</html>
'''

with open(r'c:\temp\myfile.html', 'w') as f:
    f.write(html_string_start)
    f.write('<table>')
    for header in dataframe.columns.values:
        f.write('<th>'+str(header)+'</th>')
    for i in range(len(dataframe)):
        f.write('<tr>')
        for col in dataframe.columns:
            value = dataframe.iloc[i][col]    
            f.write('<td>'+str(value)+'</td>')
        f.write('</tr>')
    f.write('</table>')
    f.write(html_string_end)
html\u string\u start=''
报告标题
'''
html_字符串_结束=“”
'''
将open(r'c:\temp\myfile.html,'w')作为f:
f、 写入(html\u字符串\u开始)
f、 写(“”)
对于dataframe.columns.values中的标题:
f、 写入(“”+str(标题)+“”)
对于范围内的i(len(数据帧)):
f、 写(“”)
对于dataframe.columns中的列:
value=dataframe.iloc[i][col]
f、 写入(“”+str(值)+“”)
f、 写(“”)
f、 写(“”)
f、 写入(html\u字符串\u结束)

谢谢。如果我想在我的C驱动器上保存这个HTML网页,我如何提供路径?谢谢你,你为什么不干脆
df.to_html('your_filename.html')
?@CTZhu,那确实更优雅了+1.实际上我以前没有用过这个方法,所以我不知道。让我更新我的答案。你知道如何保存样式(CSS)吗?在将DF转换为
转换为html
时,有没有办法为
标记插入
id
html_string_start = '''
<html>
  <head><title>Report Title</title></head>
  <link rel="stylesheet" type="text/css" href="mystyle.css"/>
  <body>
'''
html_string_end = '''
  </body>
</html>
'''

with open(r'c:\temp\myfile.html', 'w') as f:
    f.write(html_string_start)
    f.write('<table>')
    for header in dataframe.columns.values:
        f.write('<th>'+str(header)+'</th>')
    for i in range(len(dataframe)):
        f.write('<tr>')
        for col in dataframe.columns:
            value = dataframe.iloc[i][col]    
            f.write('<td>'+str(value)+'</td>')
        f.write('</tr>')
    f.write('</table>')
    f.write(html_string_end)