Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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页面中显示分割数据帧的HTML代码_Python_Html_Css_Pandas_Beautifulsoup - Fatal编程技术网

使用python在一个HTML页面中显示分割数据帧的HTML代码

使用python在一个HTML页面中显示分割数据帧的HTML代码,python,html,css,pandas,beautifulsoup,Python,Html,Css,Pandas,Beautifulsoup,我是html/css的新手,所以对以html格式显示的数据有疑问。我有一个很长的列表,我想将其拆分并以html格式显示为两个单独的列。例如,而不是: Col1 Col2 1 a 2 a 3 a 4 a 5 b 6 b 7 b 8 b 我想将文本视为 Col1 Col2 Col1 Col2 1 a 5 b 2 a 6 b 3 a 7

我是html/css的新手,所以对以html格式显示的数据有疑问。我有一个很长的列表,我想将其拆分并以html格式显示为两个单独的列。例如,而不是:

Col1 Col2
1     a
2     a
3     a
4     a
5     b
6     b
7     b
8     b
我想将文本视为

Col1 Col2   Col1   Col2
1     a      5       b
2     a      6       b 
3     a      7       b
4     a      8       b
我的html/css代码在拆分表中包含上述数据时应该是什么样子

对于第一个输出,在一个表中查看2列中的所有数据,我使用的是python代码:

start = '''<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta></head> '''
font_size = '14pt'


style = '''<style media="screen" type="text/css">
table.table1 {

  border-collapse: collapse;
  width: 20%;
  font-size: '''+font_size+''';

}

td {

  text-align: left;
  border: 1px solid #ccc;
}
th {

  text-align: left;
  border: 1px solid #ccc;
  background-color: #072FB1;
}
</style>
'''

title = '''<div align="center"></br><font size = "24"><strong>'''+title+'''</strong></font></br></br></</div>'''

df_data1 = df_data[1:10]
data = df_data1.to_html( index = False, na_rep ='' )
data = data.replace('None', '')

style_headers = 'background-color: #072FB1; color: #ffffff;'
style_status_new ='background-color: #587EF8; color: #ffffff;font-weight:bold'

style_first_col = 'font-weight:bold;'

total = 'TOTAL'
soup = bs4.BeautifulSoup(data)
soup.thead.tr.attrs['style'] = style_headers

html = start+lentos+style+'''<body bgcolor="#FFFFFF">'''+title+time+unicode.join(u'\n',map(unicode,soup))+finish 

try:
    with open(dir_files+'engines_tv_html.html', 'w') as file:
        file.write(html.encode('UTF-8'))
except Exception, e:
    log_error()
start=''
字体大小='14pt'
样式=“”
表2.1{
边界塌陷:塌陷;
宽度:20%;
字体大小:''字体大小+'';
}
运输署{
文本对齐:左对齐;
边框:1px实心#ccc;
}
th{
文本对齐:左对齐;
边框:1px实心#ccc;
背景色:#072FB1;
}
'''

title=''
'+title+'

由于您的数据由管理,我建议您尝试使用构建表

找到了解决办法! 当我们从data_frame读取数据时,我们可以首先按所需数量将其固定,然后我们需要删除以前的索引,然后我们可以浓缩该数据:

    pirmas_m = df_data[0:30].reset_index(drop=True)
    antras_m = df_data[30:60].reset_index(drop=True)
    trecias_m = df_data[60:90].reset_index(drop=True)
    ketvirtas_m = df_data[90:120].reset_index(drop=True)
    opa = pd.concat(  [pirmas_m, antras_m, trecias_m, ketvirtas_m], axis=1  )

你能告诉我df_数据是如何定义的吗?con=pyodbc.connect('DRIVER={sqlserver};Server=SQL;Database=AA;UID=user;PWD=pswd)df_data=pd.io.SQL.read_frame(SQL_data,con)谢谢,但答案并不能解决我的问题。当我们知道行的确切数量时,就可以了。但例如,如果我们不知道,并且我们的数据输出发生了变化,那么这个表就不会根据tada数量进行调整。例如如果我们留下left=df_数据[0:4]和right=df_数据[4:8],那么将有7条记录,而不是8条,我将在左表中得到3条记录,在右表中得到3条记录。我希望看到左表中有4条记录,右表中还有3条记录table@orangutangas我刚才添加的
how='outer'
将确保始终获得所有行。
    pirmas_m = df_data[0:30].reset_index(drop=True)
    antras_m = df_data[30:60].reset_index(drop=True)
    trecias_m = df_data[60:90].reset_index(drop=True)
    ketvirtas_m = df_data[90:120].reset_index(drop=True)
    opa = pd.concat(  [pirmas_m, antras_m, trecias_m, ketvirtas_m], axis=1  )