pandas-将多个csv文件附加到一个HTML中并打印csv文件名

问题描述 投票:1回答:1

我正在使用此脚本获取4个html文件:

#!/usr/bin/python

import pandas as pd
import sys
import json
sys.stdout = open('output.html','wt')

df = pd.read_csv('users.csv')
print(df.to_html())

对于其他文件

#!/usr/bin/python

import pandas as pd
import sys
import json
sys.stdout = open('output1.html','wt')

df = pd.read_csv('groups.csv')
print(df.to_html())

第3和第4相同

这些生成4个表。

是否可以修改上面的代码以在一个html文件中获取这些表?

users.csv

content of output.html

users2.csv

content of output1.html
.......................
same for file 3 and 4

期望的输出:https://1drv.ms/w/s!AizscpxS0QM4hJo7PSSUarnfy8BEvg

对不起doc文件,2个表之间的空间不必太大,只是无法减少它

目标是将其作为HTML电子邮件正文发送,我可以单独发送但无法弄清楚如何在表之间创建空间并为每个表添加一些描述,所以不知道是否可以将它组合在一起一个大的HTML文件,并在表和一些文本之间添加空格

python linux pandas
1个回答
0
投票

一个简短的实验表明,pd.to_html只是一个HTML表,而不是一个完整的HTML文档:

import pandas as pd

>>> pd.DataFrame({'a': [1, 2]}).to_html()
'<table border="1" class="dataframe">\n  <thead>\n    <tr style="text-align: right;">\n      <th></th>\n      <th>a</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2</td>\n    </tr>\n  </tbody>\n</table>'

因此,生成的HTML的任何串联都可能分为divs。例如:

'<div>%s</div>\n<div>%s</div>' % (open('output.html').read(), open('output`.html').read())

将连接前两个表,每个表都在自己的div中。

© www.soinside.com 2019 - 2024. All rights reserved.