我一直在嘗試通過Python將一段CSV文件讀取到HTML表格中一段時間。目前我的代碼看起來像:來自CSV的Python HTML表格
import csv
table = ''
with open("2016motogp.csv", encoding="utf8") as csvFile:
reader = csv.DictReader(csvFile, delimiter=',')
table = '<tr>{}</tr>'.format(''.join(['<td>{}</td>'.format(header) for header in reader.fieldnames]))
for row in reader:
table_row = '<tr>'
for fn in reader.fieldnames:
table_row += '<td>{}<\td>'.format(row[fn])
table_row += '<\tr>'
table += table_row
這是寫表的輸出: https://www.w3schools.com/code/tryit.asp?filename=FG5TPW9EY3LT
它已經得到了所有的HTML表格標記貫穿隨着名稱的一些錯誤和奇數補充該不該」不要在那裏。 標題行除了年份單元格前的奇數加法之外是乾淨的。
這裏是到CSV鏈接:https://uploadfiles.io/6joj6
如果任何人都可以通過調整代碼幫助「清理」的表格,將不勝感激。 在此先感謝,
編輯:感謝您的幫助,通過更正反斜槓正向斜槓糾正html標記,通過更改編碼選項更正除年份單元格。 我發現\ xa0是一個編碼錯誤或沿着這些行的東西,並使用:table = table.replace(u'\xa0', u' ')
來代替添加。
哇,我不能相信我錯過了。桌子現在看起來更清潔。謝謝。不幸的是,這項任務需要手動生成HTML。你是否能夠對騎手欄和年份單元中的隨機添加提供任何建議。清理表格以供參考:https://www.w3schools.com/code/tryit.asp?filename=FG5UC7Q6RE55 – J22D
實際上,您的CSV文件中包含這些字符。我的意思是,「騎手」列中的每個字段都以空格字符開頭,該字符是**不是空格(ASCII 32),而是非空格空格(Unicode 160或十六進制中的0xA0)。你對他們所做的事情(刪除,轉換爲空間或其他內容)完全取決於你。 –