近日,从欧盟统计局下载了一些数据,下载的数据表中的指标、地区等都是用的编码,而编码具体代表的含义则需要参照对应的字典文件。然而字典文件有500多个,为了查看全部字典文件的信息,于是想用Python把这些字典文件合并成一个文件。
基本思路是利用os.listdir读取文件夹下的文件列表,然后依次读取并追加每个文件的内容,最终保存成csv文件,具体代码如下。
import pandas as pd
import numpy as np
import os
path='data/EUROSTAT/all_dic/' ##所在文件夹目录
dicnum=[] ##记录文件编号
dicname=[] ##记录文件名称
code=[] ##记录每个文件中编码字段
detail=[] ##记录每个文件中名称字段
i=0
j=0
for name in os.listdir(r'data/EUROSTAT/all_dic'): ##利用os.listdir读取文件夹下的文件列表
i+=1
file=path+name
print(i,file) ##打印文件的编号与文件名
temp=pd.read_csv(file,encoding='utf-8',sep=' ',delimiter="\t")
print(len(temp)) ##打印每个文件的记录数
j+=len(temp)
dicnum.extend([i]*len(temp))
dicname.extend([name]*len(temp))
code.extend(temp.ix[:,0].values)
detail.extend(temp.ix[:,1].values)
#print(code)
print(j)
data=pd.DataFrame()
#print (data)
data["dicnum"]=dicnum
data["dicname"]=dicname
data["code"]=code
data['detail']=detail
print(data.head())
data.to_csv('data/EUROSTAT/EuroStat_dic.csv',encoding='utf-8',index=1)
ps:初衷是通过撰写博文记录自己所学所用,实现知识的梳理与积累;将其分享,希望能够帮到面临同样困惑的小伙伴儿。如发现博文中存在问题,欢迎随时交流~~