#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018/5/28 16:51
# @File    : use_test_add.py

数据:test.txt

1,Alex Li,Alex Li,13651054608,Market,2013-04-01
2,Jack Wang,28,13451024618,HR,2015-01-07
3,Rain Wang,21,13451054628,Market,2017-04-01
4,Mack Qiao,44,15653354238,Sales,2016-02-01
5,Rachel Chen,23,13351024606,Market,2013-03-16
6,Eric Liu,19,18531054602,Marketing,2012-12-01
8,Kevin Chen,22,13151054603,Sales,2013-04-01
9,Shit Wen,20,13351024642,Market,2017-07-03
10,Shanshan Du,26,13698424612,Operation,2017-07-02
11,Alex Li,25,134435344,IT,2015‐10‐29
12,Alex Li,25,1344353441,IT,2015‐10‐29
13,Alex Li,25,1344353443,IT,2015‐10‐29
14,Alex Li,25,1344353424,IT,2015‐10‐29

方法一:

staff_table = {}
field_list = ["num", "name", "age", "phone", "dept", "enroll_date"]

def openfile():
    staff_file = open("test.txt", 'r+', encoding='utf-8')
    for line in staff_file:
        line = line.strip().split(',')
        staff_table[line[1]] = dict(zip(field_list, line[:6]))

if __name__ == "__main__":
    openfile()
    print(staff_table, type(staff_table))
    # {'Alex Li': {'num': '14', 'name': 'Alex Li', 'age': '25', 'phone': '1344353424', 'dept': 'IT', 'enroll_date': '2015‐10‐29'}, 'Jack Wang': {'num': '2', 'name': 'Jack Wang', 'age': '28', 'phone': '13451024618', 'dept': 'HR', 'enroll_date': '2015-01-07'}, 'Rain Wang': {'num': '3', 'name': 'Rain Wang', 'age': '21', 'phone': '13451054628', 'dept': 'Market', 'enroll_date': '2017-04-01'}, 'Mack Qiao': {'num': '4', 'name': 'Mack Qiao', 'age': '44', 'phone': '15653354238', 'dept': 'Sales', 'enroll_date': '2016-02-01'}, 'Rachel Chen': {'num': '5', 'name': 'Rachel Chen', 'age': '23', 'phone': '13351024606', 'dept': 'Market', 'enroll_date': '2013-03-16'}, 'Eric Liu': {'num': '6', 'name': 'Eric Liu', 'age': '19', 'phone': '18531054602', 'dept': 'Marketing', 'enroll_date': '2012-12-01'}, 'Kevin Chen': {'num': '8', 'name': 'Kevin Chen', 'age': '22', 'phone': '13151054603', 'dept': 'Sales', 'enroll_date': '2013-04-01'}, 'Shit Wen': {'num': '9', 'name': 'Shit Wen', 'age': '20', 'phone': '13351024642', 'dept': 'Market', 'enroll_date': '2017-07-03'}, 'Shanshan Du': {'num': '10', 'name': 'Shanshan Du', 'age': '26', 'phone': '13698424612', 'dept': 'Operation', 'enroll_date': '2017-07-02'}} <class 'dict'>

for k, v in staff_table.items():
        print(k, v, type(v))  #  Alex Li {'num': '14', 'name': 'Alex Li', 'age': '25', 'phone': '1344353424', 'dept': 'IT', 'enroll_date': '2015‐10‐29'} <class 'dict'>

方法二:

#支持以下三种查询方法
#find name,age from staff_table where age > 22
#find * from staff_table where dept = "IT"
#find * from staff_table where enroll_date like "2013"

staff_table = {}
new_staff_table = {}
new_staff_list = []

def openfile():
    staff_file = open("staffinfo.txt", 'r+', encoding='utf-8')
    for line in staff_file:
        line = line.split(',')
        staff_table[line[1]] = line
    for value in staff_table:
        new_staff_table['num'] = staff_table[value][0]
        new_staff_table['name'] = staff_table[value][1]
        new_staff_table['age'] = staff_table[value][2]
        new_staff_table['phone'] = staff_table[value][3]
        new_staff_table['dept'] = staff_table[value][4]
        new_staff_table['enroll_date'] = staff_table[value][5]
        print(staff_table[value])
        staff_table[value] = new_staff_table
        print(staff_table[value])
    print(staff_table)

openfile()

user_add示例的更多相关文章

  1. pureMVC简单示例及其原理讲解五(Facade)

    本节将讲述Facade,Proxy.Mediator.Command的统一管家.自定义Facade必须继承Facade,在本示例中自定义Facade名称为ApplicationFacade,这个名称也 ...

  2. pureMVC简单示例及其原理讲解四(Controller层)

    本节将讲述pureMVC示例中的Controller层. Controller层有以下文件组成: AddUserCommand.as DeleteUserCommand.as ModelPrepCom ...

  3. pureMVC简单示例及其原理讲解三(View层)

    本篇说的是View层,即视图层,在本示例中包括两个部分:MXML文件,即可视控件:Mediator. 可视控件 可视控件由UserForm.mxml(图1)和UserList.mxml(图2)两个文件 ...

  4. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  5. .NET跨平台之旅:将示例站点升级至 ASP.NET Core 1.1

    微软今天在 Connect(); // 2016 上发布了 .NET Core 1.1 ,ASP.NET Core 1.1 以及 Entity Framework Core 1.1.紧跟这次发布,我们 ...

  6. 通过Jexus 部署 dotnetcore版本MusicStore 示例程序

    ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...

  7. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  8. JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  9. XAMARIN ANDROID 二维码扫描示例

    现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile  做一个简单的 Android 条码扫描示 ...

随机推荐

  1. python fromkeys() 创建字典

    # d = dict.fromkeys("张无忌","赵敏") #创建字典 # print(d)#{'张': '赵敏', '无': '赵敏', '忌': '赵敏 ...

  2. 使用 Redis

    Redis(https://redis.io/),既不像 SQLite 以表的形式存储数据,也不像 MongoDB 允许以嵌套结构存储和查询,它是一种内存数据库结构,即将数据缓存在内存中.它将键—值( ...

  3. [原][osgearth]FAQ

    参考:http://docs.osgearth.org/en/latest/faq.html Common Usage How do I place a 3D model on the map? Th ...

  4. 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作、构建表单)

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  5. How To Use Amazon MWS To Download Unshipped Order Reports

    文章来源:http://www.samswiches.com/2011/02/how-to-use-amazon-mws-to-download-unshipped-order-reports/ ac ...

  6. php---------字符串转义函数(addslashes,stripslashes)

    在PHP中,有两个函数与字符串的转义有关,他们分别是 addslashes 和 stripslashes. addslashes($string), 在指定的预定义字符前添加反斜杠 (\),用于为存储 ...

  7. UVALive-3487 Duopoly(最小割)

    题目大意:有两家公司都想向政府申请某些资源的使用权,并且他们都提供了一些申请列表,列表中含有申请费用和资源种类,同一家公司的申请列表之间不含有重复的资源.政府只可以完整地接受和拒绝谋一份申请列表,问政 ...

  8. UVALive-4452 The Ministers' Major Mess (2-SAT)

    题目大意:有n个问题,m个人来投票,没人最多投4票,问该怎样决定才能使每个人都有超过一半的票数被认可? 题目分析:2-SAT问题.如果某个人投的票数少于2,则这两票军被采纳,如果票数至少三票,则最多有 ...

  9. 两个值相等的Integer的==比较问题

    @Test    public void testIntegerEqual() {        /** -128~127 之外的数**/        Integer tem = 129;      ...

  10. phython

    转载 http://www.cnblogs.com/chenny7/p/4062693.html