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

时间:2018-03-23 12:26:41

标签: python linux pandas

我使用此脚本获取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文件中,并在表格和一些文本之间添加空格

1 个答案:

答案 0 :(得分: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的任何串联都可能分为div个。例如:

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

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