#!/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. virtualbox上,android x86 的分辨率的设置

    参考文章: http://stackoverflow.com/questions/6202342/switch-android-x86-screen-resolution 1) 用VBoxManage ...

  2. hive grouping sets 等聚合函数

    函数说明: grouping sets 在一个 group by 查询中,根据不同的维度组合进行聚合,等价于将不同维度的 group by 结果集进行 union allcube 根据 group b ...

  3. 微信公众号开发之微信JSSDK

    概述 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微 ...

  4. windows电脑使用技巧及常用CMD

    管理用户和组 win+R,输入 compmgmt.msc 本地用户和组->用户 本地安全策略 win+R,输入 secpol.msc 本地策略->安全选项,启用禁止空密码登录如下图,可以防 ...

  5. html5 自带全屏API调用方法

    function FullScreen(){ var el = $('html')[0];//要全屏的元素,如果要全页面全屏,建议使用html节点而不是body节点 var isFullscreen= ...

  6. wikioi1036 商务旅行 挺水的lca

    链接:http://wikioi.com/problem/1036/ 题意不写了. 思路:很明显找到lca然后用两个点的深度相加-lca的深度就是这一步的最近步数. #include <stdi ...

  7. Yii Model

    REFs 自动生成代码 创建第一个Yii应用 创建模型 Yii 用户登陆机制

  8. 基于spec评论——王者荣耀交流协会的PSP DAILY作品

    一.运行环境 win10系统. Visual Studio 2017 二.运行程序及截图 1.进入界面如下图. 2.手动输入 类别 任务 点击开始,自动记录时间.如下图. 3.点击结束按钮,会有提示窗 ...

  9. 第十课 C++异常简介

    异常不是错误,异常是程序中可预料到的另一条执行分支,是可预见的.错误是不可预料的. C++内置了异常处理的语法元素try...catch...,如下: C++通过throw语句抛出异常信息: 上图中t ...

  10. BZOJ3211: 花神游历各国(线段树)

    3211: 花神游历各国 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 5692  Solved: 2114[Submit][Status][Discu ...