2016-04-26 29 views
-1

HTML表形式に変換するシェルスクリプトをいくつか試しましたが、希望の出力が得られませんでした。誰でもCSVをPythonまたはPowerShellを使用してHTMLテーブル形式に変換してHTMLファイルに保存することができます。CSVをHTMLの表形式に変換してHTMLファイルに保存する

+1

をあなたは問題を抱えているし、人々があなたの質問に答えることがここで、[MCVE]表示するようにしてください。 – snakecharmerb

+0

私はこれのように使ったことがあります:echo "

";読み取り中は INPUT; do echo "​​$ {INPUT //、/​​}"; done <名前.csv; echo "
" – louis

答えて

1

これはPowerShellで簡単です。 ConvertFrom-Csvコマンドレットを使用して、csvをオブジェクト配列に変換し、ConvertTo-Htmlコマンドレットを使用してhtmlテーブルに変換できます。

$myCsv = 
@' 
Id, Name 
1, Hello 
2, World 
'@ 

$myCsv | ConvertFrom-Csv | ConvertTo-Html | Set-Content -Path 'YOUR_PATH_HERE.csv' 

出力:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>HTML TABLE</title> 
</head><body> 
<table> 
<colgroup><col/><col/></colgroup> 
<tr><th>Id</th><th>Name</th></tr> 
<tr><td>1</td><td>Hello</td></tr> 
<tr><td>2</td><td>World</td></tr> 
</table> 
</body></html> 

注:ファイルからCSVファイルをロードする必要がある場合は、ロードするためにGet-Contentコマンドレットを使用することができますいずれかのhtmlを保存するには、Set-Contentコマンドレットを使用します上の例を使用して変換するか、またはImport-Csvコマンドレットを使用できます。

+0

ここで質問をする前に上記のコマンドを試しました。出力テーブルの形式が正しくありませんでした。 – louis

1

これはあなたを助けることがあります。

import sys 
import csv 
if len(sys.argv) < 3: 
    print "Usage: csvToTable.py csv_file html_file" 
    exit(1) 

# Open the CSV file for reading 

    reader = csv.reader(open(sys.argv[1])) 

# Create the HTML file for output 

    htmlfile = open(sys.argv[2],"w") 

# initialize rownum variable 
    rownum = 0 

# write <table> tag 

    htmlfile.write('<table>') 

# generate table contents 

for row in reader: # Read a single row from the CSV file 

# write header row. assumes first row in csv contains header 
    if rownum == 0: 
     htmlfile.write('<tr>') # write <tr> tag 
     for column in row: 
      htmlfile.write('<th>' + column + '</th>') 
     htmlfile.write('</tr>') 

    #write all other rows 
    else: 
     htmlfile.write('<tr>')  
     for column in row: 
      htmlfile.write('<td>' + column + '</td>') 
     htmlfile.write('</tr>') 

    #increment row count 
    rownum += 1 

# write </table> tag 
    htmlfile.write('</table>') 

# print results to shell 
    print "Created " + str(rownum) + " row table." 
    exit(0) 
関連する問題