如何在网页中显示excel文件的值

时间:2017-05-01 00:29:11

标签: python mysql web flask

我有excel文件(制表符分隔)以及我想在网页中显示的内容。

示例数据集:

Group A Group B Group C Group D Group E Group F
lynx    cat zeus    zebra   smug    zebra
zebra   lump    flun    flun    kilm    lump
    zebra   cat         

我想在第一页显示指向数据集的链接:

link:<Dataset 1>
link:<Dataset 2>
link:<Dataset 3>

因此,例如,当点击“数据集1”的链接时,我想显示一个下拉列表:

Group A 
Group B
Group C
Group D
Group E
Group F

然后,如果选择了A组,则应显示该列的内容,lynx和zebra。

在网页上获取这些数据集的最佳和最快捷方式是什么?我是否可以为此目的而不使用数据库和Web服务器,只是在Web浏览器中显示数据?

1 个答案:

答案 0 :(得分:1)

您可以创建一个python脚本,为每个数据集和主数据集索引生成静态 HTML文件。

对于每个数据集,您可以使用tabulate以HTML格式创建表格并将其保存为HTML文件。 对于主索引,您可以再次使用tabulate来创建不同数据集的HTML表。

对于数据集

解析文件中的数据和标题,并将其写入HTML表格。

def parse_file(file):
    with open(file, "r") as f:
        reader = csv.DictReader(f)
        headers = reader.fieldnames
        table = []
        for row in reader:
            table.append([row[h] for h in headers]])
    return table, headers

from tabulate import tabulate
datasets = {}
for f in files:
    table, headers = parse_file(f)
    t = tabulate(table, headers, tablefmt="html")
    html_filename = "%s.html" % f
    data_sets[f] = html_filename
    with open(html_filename, "w") as f:
        f.write(t)
  • 表应该是列表列表。每个内部列表都是表格中的一行。
  • 标题应该是每列标题的列表。

对于索引文件

table = []
for f in files:
    table.append(["<a href='%s'>%s</a>" % (datasets[f], f)])
t = tabulate(table, tablefmt="html")
with open("index.html", "w") as f:
    f.write(t)

您现在可以在浏览器中打开index.html并浏览数据集。