我是D3和Python的新手,我正在寻找使用我的Raspberry Pi进行项目。
目标是使用D3为我的交易创建一个Sankey图表,就像我们过去几个月在Reddit上看到的那样(请参阅HERE示例)。
无论如何,我想用我的Pi自动连接到一些显示器,所以当我醒来时,我每天都可以看到我的财务状况发生变化。我使用Selenium自动登录Mint并下载CSV文件。但是,CSV文件没有正确格式化以便在D3中使用 - 我想在使用D3之前清理它并将其导出为JSON。这是CSV文件目前的样子
Date,Description,Amount,Transaction Type,Category,Account Name
12/18/2017,Redacted,108,credit,Sports,Redacted
12/18/2017,Redacted,140.24,credit,Bills & Utilities,Redacted
12/18/2017,Redacted,272.06,credit,Hotel,Redacted
12/18/2017,Redacted,579.67,credit,Sports,Redacted
12/16/2017,Redacted,79.2,debit,Sports,Redacted
12/15/2017,Redacted,69,debit,Sports,Redacted
12/15/2017,Redacted,90,debit,Sports,Redacted
12/15/2017,Redacted,165.83,credit,Paycheck,Redacted
12/15/2017,Redacted,370.21,credit,Paycheck,Redacted
12/15/2017,Redacted,1555.2,credit,Paycheck,Redacted
12/11/2017,Redacted,1100,credit,Income,Redacted
12/9/2017,Redacted,86,debit,Sports,Redacted
11/8/2017,Redacted,353.76,debit,Hotel,Redacted
11/5/2017,Redacted,8.01,debit,Credit Card Payment,Redacted
12/4/2017,Redacted,11,debit,Sports,Redacted
12/4/2017,Redacted,8.01,credit,Credit Card Payment,Redacted
12/4/2017,Redacted,1655,debit,Mortgage & Rent,Redacted
11/4/2017,Redacted,96.95,debit,Credit Card Payment,Redacted
11/4/2017,Redacted,231.85,debit,Credit Card Payment,Redacted
11/4/2017,Redacted,525,credit,Mortgage & Rent,Redacted
12/4/2017,Redacted,54.79,debit,Bills & Utilities,Redacted
11/4/2017,Redacted,525,credit,Mortgage & Rent,Redacted
11/1/2017,Redacted,231.85,credit,Credit Card Payment,Redacted
11/1/2017,Redacted,96.95,credit,Credit Card Payment,Redacted
在这种格式中,信用将是来源,而借方将是目标(它们应该是负数)。我需要做这些事情 - 按月过滤(所以我可以看到我每月花了多少钱),对借记和点数进行排序,然后将其放入格式像这样
{
"nodes":[
{"name":"Sports"},
{"name":"Hotel"},
{"name":"Paycheck"},
{"name":"Hotel"},
{"name":"Credit Card Payment"}
],
"links":[
{"source":"Paycheck","target":"Sports","value":69},
]}
如何将其重新格式化为JSON,以便D3可读?或者,有更好的方法吗?任何帮助将不胜感激!
编辑:关于什么是目标和来源的几点澄清