【发布时间】:2019-07-15 00:47:55
【问题描述】:
类似于how to read certain columns from Excel using Pandas - Python,但稍微复杂一些。
假设我有一个名为“foo.xlsx”的 Excel 文件,它会随着时间的推移而增长 - 每个月都会在右侧附加一个新列。但是,当我阅读它时,我只需要前两列和最后一列。我希望usecols 参数可以解决这个问题,所以我去了df = pd.read_excel("foo.xlsx", usecols=[0, 1, -1]),但它只给了我前两列。
我的解决方法是:
df = pd.read_excel("foo.xlsx")
df = df[df.columns[[0, 1, -1]]]
但它每次都需要读取整个文件。有什么方法可以在读取文件时获得我想要的数据框?谢谢。
【问题讨论】:
-
@Nihal 你能详细说明你的观点吗?
pandas确实支持读取具有指定列的文件,但我问的是如何始终获取最后一个。 -
我想指定
usecols参数不会节省很多时间,因为read_excel总是读取整张纸。usecols只是在阅读完所有内容后跳过其余部分,只会加速解析。