擅长:python、mysql、java
<p><code>pandas</code>需要预先知道几何结构才能构建数据帧。您可以读取标题行并添加几个虚拟列名以提供列数,然后重新读取整个csv并丢弃根本没有使用的列。在</p>
<pre><code>>>> import pandas as pd
>>> names = list(pd.read_csv('foo.csv', nrows=0)) + ['unknown1', 'unknown2']
>>> df=pd.read_csv('foo.csv', names=names, skiprows=1).dropna(axis='columns', how='all')
>>> df
Apples Pears unknown1
0 1 2 NaN
1 3 4 NaN
2 5 6 7.0
</code></pre>
<p>如果有许多额外的列并且您担心中间数据帧的内存占用,可以使用<code>csv</code>模块扫描文件并计算最大行数。与<code>pandas</code>不同,<code>csv</code>很乐意发出大小不同的行。在</p>
^{pr2}$