Python实现的两个文件操作:当前目录下所有文件和转码

来源:互联网 发布:淘宝店铺的图片 编辑:程序博客网 时间:2024/05/30 04:11

在客户那里做PoC导入数据的时候,客户导出的CSV文件太多,手工写IMPORT语句的话工作量太大,于是就琢磨用脚本来完成重复的工作,具体代码如下:

import osfilelist = os.listdir("./")f = open("tables.txt","w")for l in filelist:     f.write("IMPORT FROM CSV FILE '/hana/shared/HDB/HDB00/TB_JGQL_U8/"+l+"' INTO TB.XD_PUB_JNL_SAV WITH RECORD DELIMITED BY \'\\n\' FIELD DELIMITED BY '!' THREADS 10 BATCH 100000 ERROR LOG '/tmp/JGQL/"+l+"err.log';\n")f.close()exit()

之后又发现导出的CSV文件是GBK的,数据库是UTF-8的,需要转码,虽然用UE打开再保存能够实现,但依旧是太麻烦,可以这样做:

import codecsf1 = codecs.open("sourcefile",encoding='gbk',mode='r')f2 = codecs.open("targetfile",encoding='utf-8',mode='w')for l in f1.readlines():f2.write(l)f1.close()f2.close()


0 0