Python脚本实现.CSV文件转.DAT文件

前言

DAT文件可以理解为DATA数据文件, 工作中数仓平台使用的文件就是这种格式,通常还会有CTL和XML文件。

DAT -数据文件,以“”作为分隔符进行分割,类似CSV的格式

CTL - 核对控制文件,记录每个DAT文件对应的字节数以及行数

XML - 字段定义文件,记录DAT文件每个位置对应的字段信息(字段编码、中文名称)

工作中为了将业务导出的CSV数据文件转换成DAT数据文件进行使用,创建了一个转换格式的Python脚本。使用前需要安装Python运行环境,官网网址:Welcome to Python.org

正文代码

#!/user/bin/python
#-*- coding:utf8 -*-
import os
import re
import sys
file_name = 'part-00000-5c7e2250-192d-49d0-a1f9-807a89b42599'
xml_file_name = file_name + '.csv'
fobj = open(xml_file_name, 'r')
fobj_dat = open(file_name+'.DAT','w')
flag = True
testdata_num = 0
dic_task_des = {}
for line_num, line_content in enumerate(fobj.readlines()):	
	if flag == True:
		testdata_num = testdata_num + 1	
		line_content = re.sub(',\n|,\r\n|\n','', line_content)
		line_content = re.sub(',','|', line_content)
		fobj_dat.writelines(line_content+'|'+'\n')
fobj_dat.close()

task_des={}
task_des[file_name] = dic_task_des

fobj.close()

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值