csve – csv file evolver

Csv file, short for Comma Separated Version file, is usually a easy and common way to record [field:value] in multiple lines with all fields and values separated by comma, which is the basic data file of Microsoft Excel, as well as configuration files for other softwares. Internally, we have a software called H.248 simulator using a few csv files as configuration file. However, because of continuous feature development, more and more fields are added into existing csv file, even new csv file. Then it would be painful and time consuming to upgrade old csv files into new ones when binary file is changed into the latest. That is why csve is generated – to evolve old configured csv files based on new template csv files.

Project Name: csve
Destination: Csv file evolver
Language: Python
IDE: Vi
Project Web: http://github.com/daveti/csve
Git Read Only: https://github.com/daveti/csve.git

Core algorithm of csve - MO (matrix operation):

# Basic infra of csv file - src/new
# This is comment line - new
A,B,C                                 A,d11,d21,d31,d41
d11,d12,d13             =>              B,d12,d22,d32,d42
d21,d22,d23     reverseMatrixList       C,d13,d23,d33,d43
d31,d32,d33
d41,d42,d43

                + (evolve from src to dst)

# Basic infra of csv file - dst/old
# This is comment line - old
A,C                                     A,e11,#e21,e31
e11,e12                 =>              C,e12,e22,e32
#e21,e22        reverseMatrixList
e31,e32

                = (new dst)

# Basic infra of csv file - src/new
# This is comment line - new
A,B,C                                   A,e11,#e21,e31
e11,d12,e12             =>              B,d12,d22,d32
#e21,d22,e22    reverseMatrixList       C,e12,e22,e32
e31,d23,e32

About daveti

Interested in kernel hacking, compilers, machine learning and guitars.
This entry was posted in Dave's Tools, Programming and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.