2016-10-12 28 views
2

に合わせてそれは次のように、CSVファイルからHTMLページを作成することが可能です。この表の編集テーブルは、プログラム内容

import pandas as pd 

df = pd.read_csv('../data.csv',delimiter=';', engine='python') 
df.to_html('csv.html') 

列幅は、ヘッダー(列のタイトル)のサイズを尊重するようだが、いくつかの列のために内容は列タイトルより大きく、次の行に折り返されます。これは、複数の単語からなる細胞(aaaaaaaaa aaaaaaaaa)のために、以下のCSVで起こる:

Name1;Name2;Name3;Name4;Name5 
1;aaaaaaaaa aaaaaaaaa;b;aaaaaaaaa aaaaaaaaa;aaaaaaaaa aaaaaaaaa 
2;aaaaaaaaa aaaaaaaaa;b;aaaaaaaaa aaaaaaaaa;aaaaaaaaa aaaaaaaaa 
3;aaaaaaaaa aaaaaaaaa;b;aaaaaaaaa aaaaaaaaa;aaaaaaaaa aaaaaaaaa 

私は列がコンテンツに合わせて十分な大きさの幅をしたいと思います(ワードラップを避けるため)。プログラムで(Pythonを使用して)そこにどうやって到達できますか?

+0

それを'td { text-align:center; 空白:nowrap } 'does ti。 – KcFnMi

答えて

1

回答はthisに基づいています。

import pandas as pd 

filename = 'csv.html' 

df = pd.read_csv('../data.csv',delimiter=';', engine='python') 

html_begin = '\ 
<meta charset="UTF-8">\n\ 
<html>\n\ 
<head><link rel="stylesheet" type="text/css" href="csv.css"></head>\n\ 
<body>\n\n' 

html_end = '\n\ 
</body>\n\ 
</html>\n' 

with open(filename, 'w') as f: 
    f.write(html_begin) 
    df.to_html(f) 
    f.write(html_end) 

そしてcsv.cssようです。また

table { 
    border: .5px solid lightgray; 
    border-collapse: collapse; 
    width: 100%; 
} 
th { 
    border: .5px solid lightgray; 
    text-align: center; 
} 
td { 
    border: .5px solid lightgray; 
    text-align: center; 
    white-space:nowrap 
} 

(私が言うよより良い代替)、1は、CSSの必要性を回避し、同じようPandas Style経由ですべてを行うことができます。

import pandas as pd 

filename = 'csv_style.html' 

df = pd.read_csv('../data.csv',delimiter=';', engine='python') 

style = df.style 
style.set_properties(**{'text-align': 'center', 
         'white-space': 'nowrap'}) 

with open(filename, 'w') as f: 
    f.write(style.render()) 
+1

パンダのやり方をするには、[Pandas Style formatting](http://pandas.pydata.org/pandas-docs/stable/style.html)をチェックしてください。 [This](http://stackoverflow.com/questions/36897366/pandas-to-html-using-the-style-options-or-custom-css)も興味深いかもしれません... – MaxU

+0

パンダスタイルはかなりクールです!興味深いことに、この質問の問題には役立たない(または、この特定の問題を解決するためにPandas Styleを使用する方法はわかりません)。 – KcFnMi

+0

問題を例示するCSVを編集しました(ワードラップを表示するにはブラウザウィンドウを縮小する必要があります)。 – KcFnMi

関連する問題