Python 是否可以将csv转换为html表格?
我有一个充满日历信息的csv文件(calendar data.csv) 我需要把它发布到一个网页上(或者为它生成html) 我想要的是让日期在整个表中(在开始列中)运行,然后让员工姓名在左侧运行。在每个日期框中,应填写相应的任务 所以它看起来像:Python 是否可以将csv转换为html表格?,python,html,csv,html-table,Python,Html,Csv,Html Table,我有一个充满日历信息的csv文件(calendar data.csv) 我需要把它发布到一个网页上(或者为它生成html) 我想要的是让日期在整个表中(在开始列中)运行,然后让员工姓名在左侧运行。在每个日期框中,应填写相应的任务 所以它看起来像: 03/15/2019 03/16/2019 employee1 task task task employee2
03/15/2019 03/16/2019
employee1 task task
task
employee2 task
task
此代码为我提供了html,但它在网页上是一个blob:
import csv
import sys
if len(sys.argv) < 2:
print "Usage: ./csv-html.py <your CSV file> <your HTML File.html>"
print
print
exit(0)
# Open the CSV file for reading
reader = csv.reader(open(sys.argv[1]))
# Create the HTML file
f_html = open(sys.argv[2],"w");
f_html.write('<title><Work Flow></title>')
for row in reader: # Read a single row from the CSV file
f_html.write('<tr>');# Create a new row in the table
for column in row: # For each column..
f_html.write('<td>' + column + '</td>');
f_html.write('</tr>')
f_html.write('</table>')
但是我希望它看起来像这样:
employee1 03/15/2019 tasks
employee1 03/15/2019 tasks
employee2 03/15/2019 tasks
employee2 03/16/2019 tasks
03/15/2019 03/16/2019 03/17/2019
employee1 tasks tasks
employee2 task tasks
employee3 tasks
编辑2
使用轴移动日期:
data = data.pivot(index='Employee', columns = 'Start', values='Task').reset_index()
您可以使用将CSV文件读入pandas数据框,然后使用转换为html 对于CSV文件“input.CSV” 我们可以将CSV文件作为数据帧读取
import pandas as pd
df = pd.read_csv("input.csv", index_col="employee_name")
df在哪里
03/15/2019 03/16/2019
employee_name
employee1 task1 task2
employee2 task3 task4
然后,我们可以使用
df.to_html("input.html")
HTML文件“intput.HTML”的输出将是
03/15/2019
03/16/2019
雇员姓名
雇员1
任务1
任务2
雇员2
任务3
任务4
您可以使用将CSV文件读入熊猫数据框,然后使用转换为html
对于CSV文件“input.CSV”
我们可以将CSV文件作为数据帧读取
import pandas as pd
df = pd.read_csv("input.csv", index_col="employee_name")
df在哪里
03/15/2019 03/16/2019
employee_name
employee1 task1 task2
employee2 task3 task4
然后,我们可以使用
df.to_html("input.html")
HTML文件“intput.HTML”的输出将是
03/15/2019
03/16/2019
雇员姓名
雇员1
任务1
任务2
雇员2
任务3
任务4
您有csv文件的示例吗?我想为我的解决方案展示一个例子。@GrantWilliams:员工启动任务John smith 2019-03-04“6个程序//69个门封,8个门封验证14:30到16:30在办公室午餐17:00到18:00在午餐继续从今天上午18:30到20:00在办公室检查”John smith 2019-03-05“1300时12:00至14:30在线下注10个r/c,2个董事会BRK,1个pci卡更换14:30至18:00办公室午餐18:00至19:00午餐(cxl将重新安排为3/6)2个董事会印章19:30至20:30办公室“
您有csv文件的示例吗?我想为我的解决方案展示一个例子。@GrantWilliams:员工启动任务John smith 2019-03-04“6个程序//69个门封,8个门封验证14:30到16:30在办公室午餐17:00到18:00在午餐继续从今天上午18:30到20:00在办公室检查”John smith 2019-03-05“1300时12:00至14:30在线下注10个r/c,2个董事会BRK,1个pci卡更换14:30至18:00办公室午餐18:00至19:00午餐(cxl将重新安排为3/6)2个董事会印章19:30至20:30办公室“
awesome这很有帮助。或者至少为我指明了正确的方向。需要弄清楚如何将日期作为标题行,并在标题行下填写任务。谢谢你的帮助!好吧,这真的帮了大忙!甚至要弄清楚如何在多任务日内换行。然而,你知道如何让它的日期运行在顶部?几乎像日历一样看吧?这更像是css吗?@stcoyle我不知道你说的确切意思。你能在你的原始问题中给出一个你想要的输出的例子吗?当然可以。我希望编辑是有意义的。非常感谢您的帮助。我发现:)需要使用pivot:data=data.pivot(index='Employee',columns='Start',values='Task')。reset_index()非常有用。或者至少为我指明了正确的方向。需要弄清楚如何将日期作为标题行,并在标题行下填写任务。谢谢你的帮助!好吧,这真的帮了大忙!甚至要弄清楚如何在多任务日内换行。然而,你知道如何让它的日期运行在顶部?几乎像日历一样看吧?这更像是css吗?@stcoyle我不知道你说的确切意思。你能在你的原始问题中给出一个你想要的输出的例子吗?当然可以。我希望编辑是有意义的。非常感谢您的帮助。我发现:)需要使用pivot:data=data.pivot(index='Employee',columns='Start',values='Task')。reset_index()