Yep, like I said, just switch your "using" statements around to make sure "using DataFrames" comes before "using SQLite"
-Jacob On Wed, May 25, 2016 at 11:15 PM, SHORE SHEN <shore.horizonl...@gmail.com> wrote: > Hi: > > heres my codes: > > using SQLite > using DataFrames > > db=SQLite.DB("test3.db") > query(db,"create table emp (id integer, name text)") > query(db,"insert into emp (id, name) values(1,'jay')") > query(db,"insert into emp (id, name) values(2,'kay')") > query(db,"insert into emp (id, name) values(4,'vay')") > > y=SQLite.query(db,"select * from emp") > z=Data.stream!(SQLite.Source(db,"select * from emp"), Data.Table) > > DataFrame(z) > > and the error reported: > > MethodError: `convert` has no method matching > convert(::Type{DataFrames.DataFrame}, > ::DataStreams.Data.Table{Array{NullableArrays.NullableArray{T,1},1}}) > This may have arisen from a call to the constructor > DataFrames.DataFrame(...), > since type constructors fall back to convert methods.WARNING: Error > showing method candidates, aborted > > in call at essentials.jl:56 > in include_string at C:\Users\shoren\.julia\v0.4\CodeTools\src\eval.jl:28 > in include_string at C:\Users\shoren\.julia\v0.4\CodeTools\src\eval.jl:32 > [inlined code] from C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:39 > in anonymous at C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:62 > in withpath at C:\Users\shoren\.julia\v0.4\Requires\src\require.jl:37 > in withpath at C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:53 > [inlined code] from C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:61 > in anonymous at task.jl:58 > > 在 2016年5月26日星期四 UTC+8下午12:45:00,Jacob Quinn写道: >> >> Make sure you do >> >> using DataFrames >> using SQLite >> >> in that order in a fresh Julia session to ensure the conversion methods >> get defined (when you load the SQLite package, it checks if DataFrames has >> already been loaded to define the conversion routines). >> >> -Jacob >> >> >> On Wed, May 25, 2016 at 10:43 PM, SHORE SHEN <shore.ho...@gmail.com> >> wrote: >> >>> Hi Alex >>> >>> thanks so much for your reply, I tried out the method but it fails when >>> using DataFrame(Data.stream!(source, Data.Table)) commend. It reported >>> no such method error msg as follow: >>> >>> MethodError: `convert` has no method matching >>> convert(::Type{DataFrames.DataFrame}, >>> ::DataStreams.Data.Table{Array{NullableArrays.NullableArray{T,1},1}}) >>> This may have arisen from a call to the constructor >>> DataFrames.DataFrame(...), >>> since type constructors fall back to convert methods.WARNING: Error >>> showing method candidates, aborted >>> >>> in call at essentials.jl:56 >>> in include_string at >>> C:\Users\shoren\.julia\v0.4\CodeTools\src\eval.jl:28 >>> in include_string at >>> C:\Users\shoren\.julia\v0.4\CodeTools\src\eval.jl:32 >>> [inlined code] from C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:39 >>> in anonymous at C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:62 >>> in withpath at C:\Users\shoren\.julia\v0.4\Requires\src\require.jl:37 >>> in withpath at C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:53 >>> [inlined code] from C:\Users\shoren\.julia\v0.4\Atom\src\eval.jl:61 >>> in anonymous at task.jl:58 >>> >>> 在 2016年5月26日星期四 UTC+8上午12:30:52,Alex Mellnik写道: >>> >>>> >>>> Yes to both! >>>> >>>> For the first one, you want to use Data.stream! to get a Data.Table >>>> from the result set, and then convert it to a DataFrame. For the second >>>> you need to do the opposite. I generally work with DataFrames so I wrote >>>> two convenience functions for doing this, which should give you an idea of >>>> how to go about it: >>>> >>>> function queryToDF(db, query) >>>> source = SQLite.Source(db, query) >>>> return DataFrame(Data.stream!(source, Data.Table)) >>>> end >>>> >>>> function dfToDB(db, df, table) >>>> sink = SQLite.Sink(Data.Table(df), db, table) >>>> Data.stream!(Data.Table(df), sink) >>>> end >>>> >>>> Cheers -A >>>> >>>> On Wednesday, May 25, 2016 at 2:54:26 AM UTC-7, SHORE SHEN wrote: >>>>> >>>>> Hello >>>>> >>>>> Im trying out the sqlite package in julia, I got the following 2 >>>>> questions: >>>>> >>>>> 1, the query will result in a type of SQLite.ResultSet, if i can >>>>> output dataframe or dataarry type? >>>>> >>>>> 2, if i have a dataframe or dataarray type, would i be able to put it >>>>> into the database table? >>>>> >>>>> thanks a lot! >>>>> >>>> >>