如何在使用 pandas 导入 csv 时跳过前几行文本?

How to skip first few rows of text while importing csv with pandas?

我们每天都会收到来自供应商的 csv 文件。 但是,格式是这样的:

<table>
  <tr>
    <th colspan="6">#Receiver</th>
  </tr>
  <tr>
    <td colspan="6">#DateTime</td>
  </tr>
  <tr>
    <td colspan="6">#Address</td>
  </tr>
  <tr>
    <td colspan="6"></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td>Col1</td>
    <td>Col2</td>
    <td>Col3</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td>1</td>
    <td>A</td>
    <td>3</td>
    <td>10%</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td>2</td>
    <td>B</td>
    <td>3</td>
    <td>20%</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td>3</td>
    <td>C</td>
    <td>2</td>
    <td>10%</td>
  </tr>
</table>

我需要使用 pandas 来读取从第 5 行和第 3 列开始的 table。 我怎样才能跳过前几行?

谢谢。

以下代码会对您有所帮助

import pandas as pd

html_text = '''<table>
  <tr>
    <th colspan="6">#Receiver</th>
  </tr>
  <tr>
    <td colspan="6">#DateTime</td>
  </tr>
  <tr>
    <td colspan="6">#Address</td>
  </tr>
  <tr>
    <td colspan="6"></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td>Col1</td>
    <td>Col2</td>
    <td>Col3</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td>1</td>
    <td>A</td>
    <td>3</td>
    <td>10%</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td>2</td>
    <td>B</td>
    <td>3</td>
    <td>20%</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td>3</td>
    <td>C</td>
    <td>2</td>
    <td>10%</td>
  </tr>
</table>'''
ROWS_YOU_WANT_TO_SKIP=3
df = pd.read_html(html_text, skiprows = ROWS_YOU_WANT_TO_SKIP)
df.head()

因此,您只需根据要忽略的行数为 skiprows 指定一个值