我正在尝试借助Ruby中的StringIO模拟文件读取。以下是我的测试,旁边是我在主类中的方法。deftest_get_symbols_from_StringIO_files=StringIO.new("YHOO,141414")assert_equal(["YHOO,141414"],s.readlines)enddefget_symbols_from_file(file_name)IO.readlines(file_name,',')end我想知道这是否是我们模拟文件读取的方式,我还想知道是否有其他方法可以模拟类中的方法而不是使用assertequalwithcontents。
如何清除StringIO实例?在我写入和读取字符串io后,我想清除它。require"stringio"io=StringIO.newio.write("foo")io.string#=>"foo"#...Afterdoingsomething...io.string#=>Expecting""我尝试了flush和rewind,但我仍然得到相同的内容。 最佳答案 seek或rewind只影响下一次读写操作,不影响内部存储的内容。您可以使用StringIO#truncate喜欢File#truncate:require'stringi
为了测试一些功能,我想从一个字符串创建一个DataFrame。假设我的测试数据如下所示:TESTDATA="""col1;col2;col31;4.4;992;4.5;2003;4.7;654;3.2;140"""将这些数据读入PandasDataFrame的最简单方法是什么? 最佳答案 一个简单的方法是使用StringIO.StringIO(python2)或io.StringIO(python3)并将其传递给pandas.read_csv功能。例如:importsysifsys.version_info[0]
为了测试一些功能,我想从一个字符串创建一个DataFrame。假设我的测试数据如下所示:TESTDATA="""col1;col2;col31;4.4;992;4.5;2003;4.7;654;3.2;140"""将这些数据读入PandasDataFrame的最简单方法是什么? 最佳答案 一个简单的方法是使用StringIO.StringIO(python2)或io.StringIO(python3)并将其传递给pandas.read_csv功能。例如:importsysifsys.version_info[0]
我使用的是Python3.2.1,无法导入StringIO模块。我用io.StringIO并且它可以工作,但是我不能像这样将它与numpy的genfromtxt一起使用:x="13\n4.58"numpy.genfromtxt(io.StringIO(x))我收到以下错误:TypeError:Can'tconvert'bytes'objecttostrimplicitly当我写importStringIO它说ImportError:Nomodulenamed'StringIO' 最佳答案 wheniwriteimportString
我使用的是Python3.2.1,无法导入StringIO模块。我用io.StringIO并且它可以工作,但是我不能像这样将它与numpy的genfromtxt一起使用:x="13\n4.58"numpy.genfromtxt(io.StringIO(x))我收到以下错误:TypeError:Can'tconvert'bytes'objecttostrimplicitly当我写importStringIO它说ImportError:Nomodulenamed'StringIO' 最佳答案 wheniwriteimportString