通过检测和异常处理记录信用卡交易记录

打开一个信用卡交易的数据文件(carddata.txt),加载所有交易,包括解释的字符串。
加载数据如下:

previous balance
25
debits
21.64
541.24
25
credits
-25
-541.24
finance charge/late fees
7.30
5

读取信用卡的数据文件,并计算最终的余额。
同时还有一个处理过程的日志文件生成。
主要使用try-except语句检测异常。
代码如下:

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 21 17:13:14 2017@author: zhang
"""#!/usr/bin/env pythondef safe_float(object):try:retval = float(object)except (ValueError, TypeError), diag:retval = str(diag)return retvaldef main():"""handle all the data processing"""log = open('cardlog.txt', 'w')try:ccfile = open('carddata.txt','r')except IOError, e:log.write('no transactions in this month')log.close()returntxns = ccfile.readlines()ccfile.close()total = 0.00log.write('account log:\n')for eachTxn in txns:result = safe_float(eachTxn)if isinstance(result, float):total += resultlog.write('current value:%.2f data...processed\n' % total)else:log.write('ignored: %s' % result)print '$%.2f (new balance)' % totallog.close()if __name__=='__main__':main()

运行的结果如下:

$58.94 (new balance)

日志文件如下:

account log:
ignored: could not convert string to float: previous balance
current value:25.00 data...processed
ignored: could not convert string to float: debits
current value:46.64 data...processed
current value:587.88 data...processed
current value:612.88 data...processed
ignored: could not convert string to float: credits
current value:587.88 data...processed
current value:46.64 data...processed
ignored: could not convert string to float: finance charge/late fees
current value:53.94 data...processed
current value:58.94 data...processed

信用卡交易数据文件的记录相关推荐

  1. Python 与金融科技5|批量抓取并保存上证50的交易数据

    本期我们将利用上一期爬取到的上证50的五十只股票代码,学习如何使用API接口从雅虎批量获取交易数据,并将每支股票的交易数据以CSV的格式保存到本地.另外本期还会涉及到一些常用的文件操作. 前言 在这个 ...

  2. ORACLE热备复制数据库全记录(可以修改数据库名和数据文件路径)

    oralce热备是最简单,速度最快的数据库复制方法,以下是我的全部记录: --------------------------------------------------------------- ...

  3. MATLAB读取文件中的所有同类型数据,并记录其峰值

    实现自动读取某一文件夹中的所有同类型数据文件(.txt..xls..csv等格式),并依次处理数据文件(如找到数据的峰值),最后将峰值信息写入txt文件中. %%读取文件中的所有数据,并记录其峰值%% ...

  4. python获取股指_用Python读取csv文件中的沪深300指数历史交易数据

    保存路径:D:\python\用Python读取csv文件中的沪深300指数历史交易数据 程序名称:readcsvhs300.py: 数据名称:沪深300指数历史交易数据.csv: 开发环境:Win7 ...

  5. 基于Excel的VDS记录数据文件查看及转换工具(转MDA格式)

    一.XXXX当前采用VDS软件作为4S店及售后配套使用软件,该软件可读取车辆控制器的版本信息.读取/清除故障码信息. 与此同时VDS软件还可以实时读取及记录车辆控制器的运行参数数据,通过查看记录数据可 ...

  6. 2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒、支付峰值25.6万笔/秒。而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去。数据运营平台的

    2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒.支付峰值25.6万笔/秒.而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去.数据运营平台的 ...

  7. 机器学习预测实战 -- 信用卡交易欺诈数据监测(含方案和代码思路)

    目录 项目背景 目标 方案一:下采样的方法训练模型 获取数据 数据预处理 检查是否有缺失值: 查看数据类型: 查看数据分布 方案二:smote(过采样)处理数据不平衡数据 获取数据 数据预处理 检查是 ...

  8. 【工作记录】清理临时表空间的数据文件(TEMP01.DBF)

    系统环境:  开发环境 背景描述: 由于临时在开发环境创建俩张表,总数据量大概400多万,测试完后把表drop掉,但是发现服务器磁盘被占满了,还剩下几M可用,因为这个盘也存储oracle的数据文件,所 ...

  9. PCA降维+SVR+数据可视化 实战记录

    基于SVR算法对四姑娘山景区2019年下半年客流量进行预测 文章目录 基于SVR算法对四姑娘山景区2019年下半年客流量进行预测 1.整理用机器学习进行回归分析的过程和原理(入门)10 回归分析过程 ...

最新文章

  1. django中csrftoken跨站请求伪造的几种方式
  2. 功能自动化工具watiJ(转载)
  3. 攻防世界-web-shrine-从0到1的解题历程writeup
  4. 解读云原生下的可观察性发展方向
  5. sqlalchemy与mysql区别_sqlite3和sqlalchemy有什么区别?
  6. Hive笔记之JOIN的左外链接和右外链接
  7. 香港中文大学(深圳)张大鹏教授项目组招聘PhD
  8. Flyway 数据库脚本版本控制工具
  9. SQL 行转列、列转行
  10. springboot 物联网_【阿里云生活物联网架构师专题】基于在 SpringBoot Java私有云上对接阿里云物联网,实现M2M设备数据流转。...
  11. Android Studio系列教程六--Gradle多渠道打包
  12. [源码和报告分享] 基于VC++的MFC类库实现的通讯录管理系统
  13. Linux内核模块编程入门( 最简单的内核模块编程)
  14. [python高德]行政区查询、调用wbe服务api获取省、市、区经纬度信息
  15. [Python爬虫] 3-数据解析(lxml/bs4/正则)
  16. 超星高级语言程序设计实验作业 (实验02 分支与循环程序设计)(二)
  17. Codeforces 704D Captain America
  18. java io 操作实例
  19. stm32跑web服务器和协议栈的区别,STM32与LAN9252构建EtherCAT从站(二):使用SSC生成协议栈和XML文件——丁丁的个人网站...
  20. 网址二维码:如何制作网页链接二维码?

热门文章

  1. 如何在PCB设计中加强防干扰能力
  2. 微信小程序(八)我的界面
  3. 我的世界基岩版种子和java版种子_我的世界:基岩版4大最神奇种子?快点拿小本本记下来!...
  4. docker启动命令,docker重启命令,docker关闭命令
  5. python在哪些方向相对来说更容易就业?
  6. ArrayMap 笔记整理
  7. 第四章 SQL查询之联合语句
  8. IoU系列(IoU, GIoU, DIoU, CIoU)
  9. 网易|前端开发实习生 | 杭州 | 2021 一面面经
  10. Datawhale第32期组队学习——task0:新闻推荐系统项目搭建:centos下前端配置