read_csv
文档说,它的第一个参数可以是“具有read()方法的任何对象(例如文件句柄或StringIO)”。我的问题是如何构造一个能以这种能力工作的对象。在
import pandas as pd
file_name = 'plain.txt'
class FileWrap:
def __init__(self, path):
self.file = open(path)
def read(self):
return self.file.readline().rstrip()
filewrap = FileWrap(file_name)
while True:
line = filewrap.read()
if not line:
break
print (line)
df = pd.read_csv(FileWrap(file_name), header=None)
print (df)
这个脚本的输出是这样的。在
前三行只是为了说明FileWrap
对象的read
方法的功能似乎与预期的一样。剩下的几行表明,对于使用read
方法构造一个对象,pandas可以一次用一行来接收它的输入,这是我不理解的。一个read
要做什么才能让熊猫快乐?在
当pandas调用check}方法is_file_like无效,因此您可以尝试:
is_file_like
时,它将使does对象具有read
和{相关问题 更多 >
编程相关推荐