Skip to content

Latest commit

 

History

History
127 lines (89 loc) · 3.28 KB

cookbook.rst

File metadata and controls

127 lines (89 loc) · 3.28 KB

Simple usage

Update one column of a data file

Suppose you want to merge the following two data files:

example1.csv

Column 1 Column 2 Column 3
1 4 7
2 5 8
3 6 9

And you want to update Column 2 with these data: [11, 12, 13]

Here is the code:

from pyexcel.cookbook import update_columns


custom_column = {"Column 2":[11, 12, 13]}
update_columns("example1.csv", custom_column, "output.xls")

Your oupt.xls will have these data:

Column 1 Column 2 Column 3
1 11 7
2 12 8
3 13 9

Merge two files into one

Suppose you want to merge the following two data files:

example1.csv

Column 1 Column 2 Column 3
1 4 7
2 5 8
3 6 9

example2.ods

Column 4 Column 5
10 12
11 13

The following code will merge the tow into one file, say "output.xls":

from pyexcel.cookbook import merge_two_files


merge_two_files("example1.csv", "example2.ods", "output.xls")

The output.xls would have the following data:

Column 1 Column 2 Column 3 Column 4 Column 5
1 4 7 10 12

2 3

5 6

8 9

11

13

Select candidate columns of two files and form a new one

Suppose you have these two files:

example.ods

Column 1 Column 2 Column 3 Column 4 Column 5
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15

example.xls

Column 6 Column 7 Column 8 Column 9 Column 10
16 17 18 19 20

And you want to filter out column 2 and 4 from example.ods, filter out column 6 and 7 and merge them:

Column 1 Column 3 Column 5 Column 8 Column 9 Column 10

1 2 3

7 8 9

13 14 15

18

19

20

The following code will do the job:

from pyexcel.cookbook import merge_two_readers
from pyexcel import SeriesReader
from pyexcel.filters import EvenColumnFilter, ColumnFilter


reader1 = pyexcel.SeriesReader("example.ods")
reader2 = pyexcel.SeriesReader("example.xls")
reader1.filter(EvenColumnFilter())
reader2.filter(ColumnFilter([6,7]))
merge_two_readers(reader1, reader2, "output.xls")