Skip to main content
# SQL_XML_TABLE #

An object that allows you to easily create and work with tables, while also importing/exporting them from/to SQL databases or XML files, it can serve as a way to send data back and ford between XML files and SQL databases.



```
#!python

>From sql_xml_table import Table
```


It defines an object called Table, it can be created with a name for identification an a pre-created connection object of a pep-246 compatible database interface.


```
#!python

table = Table('Animals')
```

Then you need to add columns with the agregar_columna (add_column) method, with can take various key word arguments:

- campo (field): the name of the field

- tipo (type): the type of data stored, can be a things like 'varchar' and 'double' or name of python objects if you aren't interested in exporting to a data base latter.

- defecto (default): set a default value for the column if there is none when you add a row

- there are other 3 but are only there for database tings and not actually functional

like:


```
#!python
Table.agregar_columna(campo='Name', tipo='str')
Table.agregar_columna(campo='Year', tipo='date')

declaring it date, time, datetime or timestamp is important for being able to store it as a time object and not only as a number, But you can always put it as a int if you don't care for dates

Table.agregar_columna(campo='Priority', tipo='int')
```

Then you add the rows with the += operator (or + if you want to create a copy with an extra row)


```
#!python

Table += ('Cat', date(1998,1,1), 1)
Table += {'Year':date(1998,1,1), 'Priority':2, Name:'Fish'}
#…
#The condition for adding is that is a container accessible with either the column name or the position of the column in the table
```

Then you can generate XML and write it to a file with exportar_XML (export_XML) and escribir_XML (write_XML):


```
#!python

file = os.path.abspath(os.path.join(os.path.dirname(__file__), 'Animals.xml'))
Table.exportar_xml()
Table.escribir_xml(file)
```


And then import it back with importar_XML (import_XML) with the file name and indication that you are using a file and not an string literal:


```
#!python

Table.importar_xml(file, tipo='archivo')
#archivo means file
```


# Advanced #

This are ways you can use a Table object in a SQL manner.

## UPDATE <Table> SET Name = CONCAT(Name,' ',Priority), Priority = NULL WHERE id = 2 ##

```
#!python

for row in Table:
if row['id'] == 2:
row['Name'] += ' ' + row['Priority']
row['Priority'] = None
print(Table)
```


## DELETE FROM <Table> WHERE MOD(id,2) = 0 LIMIT 1 ##

```
#!python

n = 0
nmax = 1
for row in Table:
if row['id'] % 2 == 0:
del Table[row]
n += 1
if n >= nmax: break
print(Table)
```


this examples assume a column named 'id' but can be replaced width row.pos for your example.

```
#!python


if row.pos == 2:
```



Release files for sql-xml-table 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sql-xml-table 0.1.1
File Size Uploaded
sql_xml_table-0.1.1.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sql-xml-table 0.1.1
File Interpreter ABI Platform
sql_xml_table-0.1.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 23.6 kB

Release files / sql_xml_table-0.1.1.tar.gz

Download URL sql_xml_table-0.1.1.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a1be900c97264e0cf215e062d5737b00aea819a2c8492a62d7cc4eb5585afcef
BLAKE2b-256 checksum
How to use checksums
8954e7540ed8657d02291b0fcccee3d334945c03aca6c5c62019b35caa1669a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / sql_xml_table-0.1.1-py2.py3-none-any.whl

Download URL sql_xml_table-0.1.1-py2.py3-none-any.whl
Size 12.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
71073955d8e64729d4011d5392232ec3a5979bbc01cd0290952fb00900312982
BLAKE2b-256 checksum
How to use checksums
f594e85d7f6c6b2379089bdeacc4041f247f48e91ac8883482dc240e0598002f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page