当使用`pandas`解析csv文件时,带有open(...)`的函数有什么作用?

时间:2019-06-03 00:15:18

标签: python pandas

我刚刚发现了一个笔记本from a book,其结构如下:

filename = 'data/counts.txt'
with open(filename, 'rt') as f:
    data_table = pd.read_csv(f, index_col=0) # Parse file with pandas

与简单的data_table = pd.read_csv(filename, index_col=0)有什么不同?

1 个答案:

答案 0 :(得分:0)

read_csv在第一个参数中可以接受几种不同的类型。该文档说filepath_or_buffer : str, path object, or file-like object

运行pd.read_csv(filename, index_col=0)时,您是在要求熊猫查找并打开文件以供阅读。

运行时

with open(filename, 'rt') as f:
    data_table = pd.read_csv(f, index_col=0) 

您预先打开文件,并向熊猫传递文件对象/缓冲区以供读取。

两者都完成相同的事情。如果您想进一步控制文件的打开/读取方式,可以选择后者。