2015-10-16 75 views
1

您好我有一个CSV文件中的Python的CSV创建新的HTML表列

Col1 Col2 Col3 Col4 col5 
AA BA  CA DA EA 
AB BB  CB DB EB 
AC BC  CC DC EC 
AD BD  CD DD ED 

我如何避开创建一个新的CSV文件与新的列COLTAble 新的CSV会在形式格式。 Col1中col2的Coltable 凡coltable使用COL3,COL4,并COL5和采取的

<table border="1" cellpadding="0" cellspacing="0"> 
<tbody> 
    <tr> 
     <td rowspan="2" style="width:50%;"> 
     COL3 
     </td> 
     <td style="width:50%;"> 
     COL4 
     </td> 
    </tr> 
    <tr> 
     <td style="width:50%;"> 
     COL5 
     </td> 
    </tr> 
</tbody> 

+0

我想第三列包含HTML,与COL3,Col4and COL5信息。 – BKCapri

+0

创建html并将其放入csv文件中有什么困难? –

+0

其他方式。我试图通过将3列合并到一个HTML表中来创建一个HTML列。因此,我仍然会得到一个CSV文件。 – BKCapri

回答

1

形式我不知道我完全理解你的问题。你的最终csv每行都有不同的html表格字符串吗?

尽管如此,熊猫对于阅读和编写这样的文件非常有用。

>>> import pandas as pd 
>>> df = pd.read_csv('temp.csv') 
>>> print df 
    Col1 Col2 Col3 Col4 col5 
0 AA BA CA DA EA 
1 AB BB CB DB EB 
2 AC BC CC DC EC 
3 AD BD CD DD ED 



>>> df['Coltable'] = df.apply(lambda row: row[2:].to_frame().to_html(), axis=1) 
>>> df_new = df.iloc[:, [0, 1, -1]] 
>>> print df_new 
Col1 Col2           Coltable 
0 AA BA <table border="1" class="dataframe">\n <thead... 
1 AB BB <table border="1" class="dataframe">\n <thead... 
2 AC BC <table border="1" class="dataframe">\n <thead... 
3 AD BD <table border="1" class="dataframe">\n <thead... 
    df_new.to_csv('temp_new.csv', index=False) 


>>> df_new.to_csv('temp_new.csv', index=False) 

现在temp_new.csv看起来像

Col1,Col2,Coltable 
AA,BA,"<table border=""1"" class=""dataframe""> 
    <thead> 
    <tr style=""text-align: right;""> 
     <th></th> 
     <th>0</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <th>Col3</th> 
     <td>CA</td> 
    </tr> 
    <tr> 
     <th>Col4</th> 
     <td>DA</td> 
    </tr> 
    <tr> 
     <th>col5</th> 
     <td>EA</td> 
    </tr> 
    </tbody> 
</table>" 
AB,BB,"<table border=""1"" class=""dataframe""> 
    <thead> 
    <tr style=""text-align: right;""> 
     <th></th> 
     <th>1</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <th>Col3</th> 
     <td>CB</td> 
    </tr> 
    <tr> 
     <th>Col4</th> 
     <td>DB</td> 
    </tr> 
    <tr> 
     <th>col5</th> 
     <td>EB</td> 
    </tr> 
    </tbody> 
</table>" 
AC,BC,"<table border=""1"" class=""dataframe""> 
    <thead> 
    <tr style=""text-align: right;""> 
     <th></th> 
     <th>2</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <th>Col3</th> 
     <td>CC</td> 
    </tr> 
    <tr> 
     <th>Col4</th> 
     <td>DC</td> 
    </tr> 
    <tr> 
     <th>col5</th> 
     <td>EC</td> 
    </tr> 
    </tbody> 
</table>" 
AD,BD,"<table border=""1"" class=""dataframe""> 
    <thead> 
    <tr style=""text-align: right;""> 
     <th></th> 
     <th>3</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <th>Col3</th> 
     <td>CD</td> 
    </tr> 
    <tr> 
     <th>Col4</th> 
     <td>DD</td> 
    </tr> 
    <tr> 
     <th>col5</th> 
     <td>ED</td> 
    </tr> 
    </tbody> 
</table>" 
+0

从你的方法你明白我的问题,将有一个很好的读熊猫然后尝试你的建议方法。谢谢 – BKCapri