2017-10-05 55 views
0
a=np.array([[1,1,1,1],[2,2,2,2],[3,3,3,3]]) 
df=pandas.DataFrame(a) 
df.to_html('table.html') 

我想使pandas.DataFrame html。 數據來自csv.file,我將它分成幾個表。 我想使表在一個文件中一個接一個。(這不是連在一起)許多熊貓數據幀在一個readeable文件

open(filename, mode): 

它喜歡的文件與模式「A」,沒有覆蓋原來的文件打開。

這樣的輸出樣本表。 我該怎麼做,還是有另一種更可讀的方式?

enter image description here

+1

我有一個困難時期弄清楚你真正想要什麼。也許你可以用一些示例輸出來更新問題。 –

+0

使用pd.concat ...'df_out = pd.concat([df_a,df_b,df_c])' –

+0

確實很不清楚你想要什麼。始終嘗試顯示**期望的輸出**。 –

回答

1

您可以進行如下操作:

  • 把所有的dataframes在列表中迭代通過他們
  • 和相互轉換一個HTML
  • 串接所有HTML輸出到一個單個文件

在代碼方面,這裏是你如何能做到這一點:

a=np.array([[1,1,1,1],[2,2,2,2],[3,3,3,3]]) 
b=np.array([[1,4,5,1],[12,2,32,2],[3,32,30,3]]) 
df_a = pd.DataFrame(a) 
df_b = pd.DataFrame(b) 
list_df = [df_a, df_b] 
output = "" 
for index, df in enumerate(list_df): 
    output += df.to_html() + '<br>'  

with open('output.html', 'w') as f: 
    f.writelines(output)  

這裏的輸出中的樣子:

<table border="1" class="dataframe"> 
 
    <thead> 
 
    <tr style="text-align: right;"> 
 
     <th></th> 
 
     <th>0</th> 
 
     <th>1</th> 
 
     <th>2</th> 
 
     <th>3</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <th>0</th> 
 
     <td>1</td> 
 
     <td>1</td> 
 
     <td>1</td> 
 
     <td>1</td> 
 
    </tr> 
 
    <tr> 
 
     <th>1</th> 
 
     <td>2</td> 
 
     <td>2</td> 
 
     <td>2</td> 
 
     <td>2</td> 
 
    </tr> 
 
    <tr> 
 
     <th>2</th> 
 
     <td>3</td> 
 
     <td>3</td> 
 
     <td>3</td> 
 
     <td>3</td> 
 
    </tr> 
 
    </tbody> 
 
</table><br><table border="1" class="dataframe"> 
 
    <thead> 
 
    <tr style="text-align: right;"> 
 
     <th></th> 
 
     <th>0</th> 
 
     <th>1</th> 
 
     <th>2</th> 
 
     <th>3</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <th>0</th> 
 
     <td>1</td> 
 
     <td>4</td> 
 
     <td>5</td> 
 
     <td>1</td> 
 
    </tr> 
 
    <tr> 
 
     <th>1</th> 
 
     <td>12</td> 
 
     <td>2</td> 
 
     <td>32</td> 
 
     <td>2</td> 
 
    </tr> 
 
    <tr> 
 
     <th>2</th> 
 
     <td>3</td> 
 
     <td>32</td> 
 
     <td>30</td> 
 
     <td>3</td> 
 
    </tr> 
 
    </tbody> 
 
</table><br>