将事务的csv文件转换为ofx或qif文件
csv2ofx的Python项目详细描述
#csv2ofx
csv2ofx内置了从mint、yoodlee和xero导入csv文件的支持。csv2ofx已经在以下配置上进行了测试:
*macos x 10.13.1
*python 3.6.4
3.5](http://www.python.org/download)(MacOS X预装了Python)
\
sudo pip install csv2ofx
打印功能
iterstringio
来自csv2ofx的导入实用程序
来自csv2ofx的导入=ofx.clean_trxns(trxns)
data=utils.gen_数据(clean_trxns)
content=it.chain([ofx.header(),ofx.gen_body(data),ofx.footer()])
iterstringio(content):
print(line)
```````
*正常的qif使用情况*
```` python
导入,打印功能
=qif.gen_groups(记录)
trxns=qif.gen_trxns(组)
cleaned_trxns=qif.clean_trxns(trxns)
data=utils.gen_data(cleaned_trxns)
content=it.chain([qif.gen_body(数据),qif.footer())
iterstringio中的行(内容):
打印(行)
````
描述:csv2ofx将csv文件转换为ofx和qif
positional参数:
source源csv文件(默认为stdin)
dest输出文件(默认为stdout)
--帮助显示此帮助消息并退出
-a类型,--帐户类型
ofx的默认帐户类型"checking",qif的默认帐户类型"bank"。
-e日期,--结束日期结束日期
-l语言,--语言
s日期,--开始日期
字段名,--拆分字段名
用于单个分录语句的拆分帐户的字段
-c行,--chunksize行
一次要处理的行数
-v,--version显示版本并退出
-q,--qif启用"qif"输出,而不是"ofx"
-o,--覆盖目标文件(如果存在的话)
-d,--debug显示传递给解析器的选项和参数
-v,--详细详细输出
`````
*正常用法*
*打印输出到stdout*
*从stdin读取输入*
*qif输出*
*指定从一年前到昨天的日期范围,qif输出*
*使用yoodlee设置*
csv2ofx-m yoodlee file.csv
新映射必须放在"csv2ofx/mappings"文件夹中。映射对象由一个字典组成,该字典的键是ofx/qif属性,其值是应该从记录(csv行)返回相应值的函数。映射函数将接受一个记录,例如
``python
{account':'savings 2',date':'1/3/15',amount':'5000'}
````
``python
from operator import itemgetter
mapping={
'bank':'betterbank',
'account':itemgetter('account'num'),
'date':itemgetter('trx'u date'),
'amount':itemgetter('trx'u amount')}
`````
,但也可以进行更复杂的解析,例如,
``python
mapping={
‘account’:lambda r:r['details'].split(":")[0],
‘date’:lambda r:%s/%s/%s'%(r['mon月',r['day'],r['ye年'],
‘amount’:lambda r:r['amount']*2}
````
//‘account:r[%s/%s/%s/%s/%s'%(r['mon月',r['day']],r['day'],r['ye/>
属性描述|默认字段示例
----------------
`账户交易账户银行支票
`日期交易日期日期5/4/10
`金额交易金额30.52美元
可选值属性
|说明默认值
------------
`has_header` csv文件是否有header行true
`is_split` csv文件是否包含split(复式)事务false
`currency`货币iso代码美元
`delimiter` csv字段分隔符,
受款人名称N/A空壳
《票据N/A银行`账户bb账户账户账户账户账户账户账户账户账户账户账户账户账户账户/>
设置
pip安装-rdev requirements.txt
\如果您添加了新的类或函数,请使用示例添加相应的文档块。另外,确保python linter和nose测试通过。
方法如下:
1.分叉和克隆。
``` bash
git clone git@github.com:<;您的用户名>;/csv2ofx.git
cd csv2ofx
```
2。安装一个新的[virtualenv](http://www.virtualenv.org/en/latest/index.html)
``bash
mkvirtualenv--没有站点包csv2ofx
activate csv2ofx
python setup.py develop
pip install-r dev requirements.txt
``
3。为本地开发创建一个分支
`` bash
git checkout-b错误修复或功能的名称
```
4。做你的改变,茹n linter和tests,并通过github网站提交pull请求。
csv2ofx内置了从mint、yoodlee和xero导入csv文件的支持。csv2ofx已经在以下配置上进行了测试:
*macos x 10.13.1
*python 3.6.4
3.5](http://www.python.org/download)(MacOS X预装了Python)
\
sudo pip install csv2ofx
打印功能
iterstringio
来自csv2ofx的导入实用程序
来自csv2ofx的导入=ofx.clean_trxns(trxns)
data=utils.gen_数据(clean_trxns)
content=it.chain([ofx.header(),ofx.gen_body(data),ofx.footer()])
iterstringio(content):
print(line)
```````
*正常的qif使用情况*
```` python
导入,打印功能
=qif.gen_groups(记录)
trxns=qif.gen_trxns(组)
cleaned_trxns=qif.clean_trxns(trxns)
data=utils.gen_data(cleaned_trxns)
content=it.chain([qif.gen_body(数据),qif.footer())
iterstringio中的行(内容):
打印(行)
````
描述:csv2ofx将csv文件转换为ofx和qif
positional参数:
source源csv文件(默认为stdin)
dest输出文件(默认为stdout)
--帮助显示此帮助消息并退出
-a类型,--帐户类型
ofx的默认帐户类型"checking",qif的默认帐户类型"bank"。
-e日期,--结束日期结束日期
-l语言,--语言
s日期,--开始日期
字段名,--拆分字段名
用于单个分录语句的拆分帐户的字段
-c行,--chunksize行
一次要处理的行数
-v,--version显示版本并退出
-q,--qif启用"qif"输出,而不是"ofx"
-o,--覆盖目标文件(如果存在的话)
-d,--debug显示传递给解析器的选项和参数
-v,--详细详细输出
`````
*正常用法*
*打印输出到stdout*
*从stdin读取输入*
*qif输出*
*指定从一年前到昨天的日期范围,qif输出*
*使用yoodlee设置*
csv2ofx-m yoodlee file.csv
新映射必须放在"csv2ofx/mappings"文件夹中。映射对象由一个字典组成,该字典的键是ofx/qif属性,其值是应该从记录(csv行)返回相应值的函数。映射函数将接受一个记录,例如
``python
{account':'savings 2',date':'1/3/15',amount':'5000'}
````
``python
from operator import itemgetter
mapping={
'bank':'betterbank',
'account':itemgetter('account'num'),
'date':itemgetter('trx'u date'),
'amount':itemgetter('trx'u amount')}
`````
,但也可以进行更复杂的解析,例如,
``python
mapping={
‘account’:lambda r:r['details'].split(":")[0],
‘date’:lambda r:%s/%s/%s'%(r['mon月',r['day'],r['ye年'],
‘amount’:lambda r:r['amount']*2}
````
//‘account:r[%s/%s/%s/%s/%s'%(r['mon月',r['day']],r['day'],r['ye/>
属性描述|默认字段示例
----------------
`账户交易账户银行支票
`日期交易日期日期5/4/10
`金额交易金额30.52美元
可选值属性
|说明默认值
------------
`has_header` csv文件是否有header行true
`is_split` csv文件是否包含split(复式)事务false
`currency`货币iso代码美元
`delimiter` csv字段分隔符,
受款人名称N/A空壳
《票据N/A银行`账户bb账户账户账户账户账户账户账户账户账户账户账户账户账户账户/>
设置
pip安装-rdev requirements.txt
\如果您添加了新的类或函数,请使用示例添加相应的文档块。另外,确保python linter和nose测试通过。
方法如下:
1.分叉和克隆。
``` bash
git clone git@github.com:<;您的用户名>;/csv2ofx.git
cd csv2ofx
```
2。安装一个新的[virtualenv](http://www.virtualenv.org/en/latest/index.html)
``bash
mkvirtualenv--没有站点包csv2ofx
activate csv2ofx
python setup.py develop
pip install-r dev requirements.txt
``
3。为本地开发创建一个分支
`` bash
git checkout-b错误修复或功能的名称
```
4。做你的改变,茹n linter和tests,并通过github网站提交pull请求。