You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
5 years ago | |
---|---|---|
listio | 5 years ago | |
tests | 5 years ago | |
.gitignore | 5 years ago | |
LICENSE | 8 years ago | |
NOTICE | 8 years ago | |
README.md | 5 years ago | |
requirements.txt | 5 years ago | |
setup.py | 5 years ago | |
tox.ini | 6 years ago |
README.md
ListIO
Read/write lists and maps (two dimensional lists) from/to files.
- Lists are stored as plain text files with one list item per line.
- Maps (two dimensional lists) are stored as CSV.
When reading a list or map, lines starting with a hash sign (#
) are considered
to be comments and therefore ignored.
Installation
Install ListIO using pip:
pip install listio
Usage
Lists
Writing
import listio
listio.write_list(
'mylist.txt',
['foo', 'bar', 'baz']
)
mylist.txt now contains:
foo
bar
baz
Reading
mylist.txt:
First item
second item
foo
# this is a comment
bar
Read mylist.txt
as an iterator:
>>> import listio
>>> mylist = listio.read_list('mylist.txt')
>>> list(mylist)
['First item', 'second item', 'foo', 'bar']
Maps
Writing
import listio
listio.write_map(
'mymap.csv,
[['foo bar', 'baz', 'x'], [1, 2, 3]]
)
mymap.csv now contains:
foo bar;baz;x
1;2;3
The default CSV delimiter is ;
and lineterminator \n
. You can change this:
listio.write_map(
'mymap.csv,
[['foo bar', 'baz', 'x'], [1, 2, 3]],
delimiter=',',
lineterminator='\r\n'
)
Reading
mymap.csv:
First column;"second column";3
# this is a comment
"next;item,";foo;bar
Read mymap.csv
as an iterator:
>>> import listio
>>> mymap = listio.read_map('mymap.csv')
>>> list(mymap)
[['First column', 'second column', '3'], ['next;item,', 'foo', 'bar']]
The default CSV delimiter is ;
and lineterminator \n
. You can change this:
>>> listio.read_map('mymap.csv', delimiter=',', lineterminator='\r\n')
Examples
See tests/test_listio.py for more usage examples.