python处理表格数据

python实现索引查询 微信账单

首先下载 发送到你邮箱的账单到电脑桌面
简单实现

#coding:gbk
import re
import sys
import csv
i_f = sys.argv[1]
o_f = sys.argv[2]
skr = ['Explorer']
row_counter =0

with open(i_f,'r', newline='',encoding='UTF-8-sig')as csv_in_file:
	with open(o_f,'w',newline='',encoding='UTF-8-sig') as csv_out_file:
		fr= csv.reader(csv_in_file)
		fw= csv.writer(csv_out_file)
		o_m =0.0
		i_m=0.0
		count = 0
		ocount=0
		icount=0
		for row_list in fr:
			'''print(row_list)'''
			if row_counter >=15 and row_counter <=430:				
				
				a_people = row_list[2]
				money = row_list[4]
				
				if row_counter==15:
					fw.writerow(row_list)
				elif row_counter==16:
					fw.writerow(row_list)
				elif a_people in skr:
					
					fw.writerow(row_list)
					'''print("次数是:"+str(count+1))'''
					if money=="支出":
						count+=1
						ocount+=1
						'''print("支付次数: "+str(ocount))'''
						print(row_list[4])
						o_m+=float(str(row_list[5]).strip('\u00A5').replace(',',''))
					elif money=="收入":
						count+=1
						icount+=1
						'''print("收入次数: "+str(icount))'''
						i_m+=float(str(row_list[5]).strip('\u00A5').replace(',',''))
			
			row_counter +=1
		print(o_m)
		print(i_m)
		fw.writerow("")
		tail=['支付金额','收入金额','差额']
		fw.writerow(tail)
		ozd = str(o_m)
		izd = str(i_m)
		ce = str(o_m - i_m)
		zd = []
		zd.append(ozd)
		zd.append(izd)
		zd.append(ce)
		
		fw.writerow(zd)
	'''
print(o_m)
print(i_m)	
print("结束了")			
'''
'''			
# line 15,18 行号索引下标+1 就是在excel中显示的行号#D-value
#还需要的实现细节就是
#转出总数 广义:(支出)
#转入总数 广义:(收入)
#两者差
#表示正者
#转义再转义。因为咱们是中国人,写汉字,所以编码格式要是GBK
#但是GBK中的人民币¥ 
#这个不是excel中真实的人民币,下面会=还有一横
#不能通过 utf-8编码再编码回来
#只能通过转义字符表示
#\u00A5
#unicode 万国码 字符集
#utf-8 以8位一个编码长度的可变长编码
#GBK:Chinese Internal Code Specification 中国 国内 代码 规范 (英语常年6分)见谅
'''
下载好的微信账单,1-15行是默认账单
所以配置好的不用更改
然后选择的大范围是小于多少行
我的样本是438行
然后设置文件的编码格式
gbk
然后通过excel打开的数据显示的人民币符号
通过转义字符 \u0045表示
不然无法保存字符。
因为编码格式不兼容
最后插入一行空行
和插入一行统计行
简单的实现了匹配 微信账单的内容实现
如何检测是否可行
win + R 输入CMD
或者默认就是CMD
然后输入 python +  绝对地址 / 该程序文件名.py + 绝对地址 / 操作文件名.csv + 绝对地址 / 生成文件名.csv
或者 cd 放置前两个文件的位置
然后直接 程序文件名.py + 操作文件名.csv + 生成文件名.csv 
新手刚刚开始启航,谢谢大家评论

你可能感兴趣的:(可视化,python,csv)