项目作者: sonicfurqan
项目描述 :
Merging and updating csv script
高级语言: Python
项目地址: git://github.com/sonicfurqan/Process-Parse-Merge-CSV.git
Process - Parse - Merge CSV
- Merge CSV
- Process CSV for VLOOKUP
Modules Required
- Python
- Pandas
- Numpy
- PySimpleGUI
- PsUtill
Run Setup to install required dependency
python setup.py
Parameters in paramters.py file
Common
- VALUES_TO_BE_REPLACED_BY_NULL
- CHUNK
- PARENT_FILE_LOCATION
- CHILD_FILE_LOCATION
- PARENT_PRIMARY_KEY
- CHILD_FOREIGN_KEY
Merge
- SOURCE_COLUMN_NAME
- PARENT_SOURCE_VALUE
- CHILD_SOURCE_VALUE
VLookup
- CHILD_COLUMN_TO_FETCH_DATA
- PARENT_COLUMN_TO_PLACE_DATA
Operation in run.py file
Main
- MERGE_DATA
- REPLACE_DIFFERENCE
- VLOOKUP
Sub
- MERGE_HEADERS
- CLEAN_EMPTY_COLUMNS
- ADD_SOURCE_COLUMN
- OUTER_JOIN
- OVERRIDE_PARENTDATA
Run Merge Script
For running a script to merge 2 CSV
python run.py
Example Merge
Master Example.csv
Child Example.csv
CSV after Outer Join
CSV after inner Join with override False
Id |
Name |
Email |
EXT_Id |
SOURCE |
2 |
Bb |
b@b.com |
2 |
Master/Child |
3 |
Cb |
C@b.com |
3 |
Master/Child |
4 |
Db |
D@b.com |
4 |
Master/Child |
CSV after inner Join with override True
Id |
Name |
Email |
EXT_Id |
SOURCE |
2 |
Bb |
b@b.com |
2 |
Master/Child |
3 |
Cb |
C@b.com |
3 |
Master/Child |
4 |
asdf |
as@df.com |
4 |
Master/Child |
Example VLOOKUP
Target Example_new.csv
Id |
Name |
1 |
a |
2 |
b |
3 |
c |
4 |
d |
5 |
e |
|
f |
|
g |
|
i |
|
j |
Lookup Example_old.csv
Old_Id |
New_id |
Name |
1 |
100 |
a |
1 |
1000 |
aa |
2 |
200 |
b |
3 |
300 |
c |
4 |
400 |
d |
5 |
500 |
e |
6 |
600 |
FF |
7 |
700 |
GG |
8 |
800 |
HH |
Lookup Processed Example_new.csv
Id |
Name |
|
f |
|
g |
|
i |
|
j |
100 |
a |
200 |
b |
300 |
c |
400 |
d |
500 |
e |