如何在使用 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 指定一个值
我们每天都会收到来自供应商的 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 指定一个值