Python读写文件,文本处理,并把日期自动更新为90天前
来源:互联网 发布:particular mac 编辑:程序博客网 时间:2024/05/22 04:59
Mark下。今天任务中有一部分是对生成的文本进行处理,生成需要的格式,以方便下一步导入数据库。
需求
原始文本格式如下:
生成的文档格式应为:取app或者input开头的行。把日期相同的app和input放在一行,并把日期提前90天。
生成格式如下图所示:
代码
直接上文本处理的小程序了,程序里有注释
import sysimport datetimeimport timefile = open("sql_20170503.txt") # 输入文件outputfile = open("temp.txt",'a') # 输出文件line = file.readline()app_map = {} # 首字段为"app"的input_map = {} # 首字段为"input"的# 按行读写while line: lineSplit = line.split("\t") # 拆分字段 print line, line = file.readline() print "-----------",lineSplit[0]+"\t"+lineSplit[1]+"\t"+lineSplit[2]+"\t"+lineSplit[3], # 日期修改为前90天 dt = lineSplit[1] myday = datetime.datetime(int(dt[0:4]), int(dt[4:6]), int(dt[6:8])) + datetime.timedelta(days=-90) dt = myday.strftime('%Y%m%d') lineSplit[1] = str(dt) # 以日期为键,其余为值 if lineSplit[0] == "app": app_map[lineSplit[1]] = lineSplit[0] + "\t" + lineSplit[2] + "\t" + lineSplit[3] print "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"+app_map[lineSplit[1]]; elif lineSplit[0] == "input": input_map[lineSplit[1]] = lineSplit[0] + "\t" + lineSplit[2] + "\t" + lineSplit[3]file.close()merge_map = {} # 字段联结for input_key, input_value in input_map.items(): if input_key in app_map.keys(): merge_map[input_key] = input_value[0:-1] + "\t" + app_map[input_key] else: print input_key + "************************************************************************************************"# merge_map[input_key] = input_value[0:-1] + "\t" + "app" + "\t" + "0" + "\t" + "0" + "\n"# 按格式输出for merge_key, merge_value in merge_map.items(): merge = merge_key + "\t" + merge_value outputfile.write(merge) print merge_key + "\t" + merge_value,outputfile.close()
1 0
- Python读写文件,文本处理,并把日期自动更新为90天前
- 批处理:Ping结果前加上时间并把结果保存为txt文件
- 批处理:将Ping结果前加上时间并把结果保存为txt文件
- Python CSV文件处理/读写
- [Python]读写文件,处理log
- Python CSV文件处理/读写
- python文件读写、help保存为文件
- Python文件操作,open读写文件,追加文本内容
- Python文件操作,open读写文件,追加文本内容
- python 中文编码处理与文件读写
- Python:文件读写及中文编码处理
- python 读写文件编码处理问题
- Python 读写txt文件中文简单处理
- python之文件读写和异常处理
- 检查出一个文件夹下所有文件和文件夹,并把最后修改日期为今天一天之前的删掉
- python 文本读写操作
- python 获取n天前的日期列表、获取指定日期n天前的日期
- Python文本处理之按行处理大文件
- 一:《方田》-- 14
- Android plugin插件化开发初试
- C++内联函数
- 去掉h5 voide标签中的下载按钮
- git的使用和分析
- Python读写文件,文本处理,并把日期自动更新为90天前
- Android 日历(EasyCalendar)
- JAR包中的MANIFEST.MF文件详解以及编写规范
- UE4深入学习
- 虚拟摄像头开发
- Maven-assembly-plugin插件
- 机智云研究,2016年中国充电桩产业智能洞察报告
- Java集合:整体结构
- [KDTree] [优先队列] [HDU4347] The Closest M Points