Either way you will be using ~10,000 x 4tables x 40 cols x 20bytes/col = 
30MB. If you have 1GB you have nothing to worry about.

On Tuesday, 9 April 2013 09:35:40 UTC-5, David S wrote:
>
> This works as well! Thank you.
>
> I ended up adding a .export_to_csv_file() to the end of Cliff's code and 
> re-importing the data to table3. The final version of this application 
> might see tens of thousands of lines, each with ~40 columns in each table. 
> Which way do you think would work better?
>
> David
>
> On Tuesday, April 9, 2013 10:12:08 AM UTC-4, Massimo Di Pierro wrote:
>>
>> If they fit in ram and have the same column names:
>>
>> rows = db(db.table1).select()
>> rows = rows + db(db.table2).select()
>> rows = rows + db(db.table3).select()
>> rows = rows.sort(lambda row: row.col8) # optional
>>
>> On Monday, 8 April 2013 15:29:35 UTC-5, David S wrote:
>>>
>>> I have three tables, db.table1 db.table2 and db.table3. They are 
>>> identical except for the information stored in each. table3 is blank and 
>>> after running some code should contain the combination of the values in 
>>> table1 and table2. 
>>>
>>> An example (<uuid> is generated by web2py_uuid()):
>>>
>>> db.table1:
>>> col1 col2 col3 col4 col5 col6 col7 col8
>>> 1    A    Z    x    x              <uuid>
>>> 2    B    Y    x    x              <uuid>
>>> 3    C    X    x    x              <uuid>
>>> 4    D    W    x    x              <uuid>
>>>
>>> db.table2:
>>> col1 col2 col3 col4 col5 col6 col7 col8
>>> 1    A    Z              y    y    <uuid>
>>> 2    B    Y              y    y    <uuid>
>>> 3    C    X              y    y    <uuid>
>>> 4    D    W              y    y    <uuid>
>>>
>>> After merging, db.table3 should look like this:
>>>
>>> db.table3:
>>> col1 col2 col3 col4 col5 col6 col7 col8
>>> 1    A    Z    x    x    y    y    <uuid>
>>> 2    B    Y    x    x    y    y    <uuid>
>>> 3    C    X    x    x    y    y    <uuid>
>>> 4    D    W    x    x    y    y    <uuid>
>>>
>>> After some research, I found that exporting table1 and table2 to 
>>> separate .csv files and then importing them into table3 should be an easy 
>>> way to do this, however it does not seem to be working for me. Below is the 
>>> code I've tried to use:
>>>
>>> rows = db(db.table1).select()
>>> rows.export_to_csv_file(open('table1.csv','wb'))
>>> db.table3.import_from_csv_file(open('table1.csv','rb'),unique='col1')
>>>     
>>> rows = db(db.table2).select()
>>> rows.export_to_csv_file(open('table2.csv','wb'))
>>> db.table3.import_from_csv_file(open('table2.csv','rb'),unique='col1')
>>>
>>> The problem I'm having is only the values from table2 are showing in 
>>> table3.
>>>
>>> I've also tried using a join like this:
>>>
>>> db(db.table1.col1 == db.table2.col1).select()
>>>
>>> But it creates something which looks like this:
>>>
>>> col1 col2 col3 col4 col5 col6 col7 col8   col1 col2 col3 col4 col5 col6 
>>> col7 col8
>>> 1    A    Z    x    x              <uuid> 1    A    Z              y    
>>> y    <uuid>
>>> 2    B    Y    x    x              <uuid> 2    B    Y              y    
>>> y    <uuid>
>>> 3    C    X    x    x              <uuid> 3    C    X              y    
>>> y    <uuid>
>>> 4    D    W    x    x              <uuid> 4    D    W              y    
>>> y    <uuid>
>>>
>>> Is there another way of doing the join which would produce table3 how 
>>> I'd like it formatted?
>>>
>>> Anyone have a suggestion or better way to do this?
>>>
>>> Thanks,
>>> David
>>>
>>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to