许多pandas数据帧在一个可重新编译的文件中

时间:2017-10-05 19:42:38

标签: python-3.x pandas numpy

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,我把它拆分成几个表。 我希望make table一个接一个地放在一个文件中。(它没有链接在一起)

open(filename, mode):
  

它喜欢使用模式打开文件' a'不覆盖原始文件。

像这样的示例输出表。 我怎么能这样做还是有其他更可读的方式?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以按以下步骤操作:

  • 将所有数据框放入列表中
  • 遍历它们并将每个转换为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)    

以下是输出的样子:

&#13;
&#13;
<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>
&#13;
&#13;
&#13;