您的位置:首页 > 编程语言 > Python开发

个人笔记:python读取某电子打卡机实时数据,读取目标文件夹最新文件并匹配特定字典,替换人员代码为姓名,写入新的文本文件

2020-02-02 02:39 696 查看

python读取某电子打卡机实时数据,读取目标文件夹最新文件并匹配特定字典,替换人员代码为姓名,写入新的文本文件

注:代码引入时间模块是因为该虹膜打卡机按年月日文件夹存储,该日文件夹数据两分钟生成一个csv我们需要读取最新时间的csv(文件命名无规律),所以循环列表得到最新文件,在进行数据转换和读取,由于数据的机密性不方便展示,大家知道大概原理和实施步骤即可

coding:utf-8
import csv
import datetime
import os

aa = datetime.datet ime.now().strftime('%Y-%m-%d')
years = datetime.datetime.now().strftime('%Y')
month = datetime.datetime.now().strftime('%m')
days = datetime.datetime.now().strftime('%d')
print(aa,aa1,aa2,aa3)
filePath= './2019/10/18'
filePath_one = "./HMDTP/1557397261314/1565161383166/"+years+"/"+month+"/"+days
file_list = os.listdir(filePath)
file_name = file_list[-1]
cc = "./HMDTP/1557397261314/1565161383166/"+years+"/"+month+"/"+days+"/"+file_name
print(cc)

dict_code = dict()
with open("hg.csv", 'r', encoding="utf-8") as f:
reader = csv.DictReader(f)

for row in reader:
# Max TemperatureF是表第一行的某个数据,作为key
WORKERCODE = row['WORKERCODE']
WORKERNAME = row['WORKERNAME']

dict_code[WORKERCODE]=WORKERNAME
print(dict_code)
keys_list = []
for key in dict_code:
keys_list.append(key)

aa = []
csv_file = csv.reader(open('./2019.csv', 'r'))
for i in csv_file:
i.pop(0)
i.pop(2)
i.pop(1)
i.pop(5)
i.pop(4)
i.pop(5)
i.pop(4)
i.pop(4)

aa.append(i)
aa.pop(0)
print(aa)
f = open("data1.txt", "w")
zhuangtai = [{'1': '已入井'}, {'2': '已出井'}, {'0': '未入井'}]
for ii in aa:
if ii[2] == '1':
ii[2] = '已入井'
elif ii[2] == '2':
ii[2] = '已出井'
elif ii[2] == '0':
ii[2] = '未入井'
for key in keys_list:
if ii[0] == key:
ii[0] = dict_code.get(key)
del (ii[-1])
for list_1 in ii:
f.write(list_1 + ',')

f.write('\n')

f.close()
  • 点赞
  • 收藏
  • 分享
  • 文章举报
小史史啊 发布了13 篇原创文章 · 获赞 2 · 访问量 3190 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐