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

Python字典在实际工作中的应用

2016-08-24 00:25 363 查看

应用背景

     在工作中遇到要为现有的数据库表A添加大量数据,该数据与A表中某类数据相同,但是ID不同,并且同时增加关联该表的其他表格(B、C表)。

解决方法

           解决思路: 通过Python字典类型变量,转换关联表中原数据的ID为对应新增数据的ID。

 

        首先,根据条件找出A表中要添加的数据,可以下载这些数据到本地(xml文件或cvs文件),用Excel打开,对应这些数据的ID新曾一列数据ID,并把这两列数据复制到一个文本文件中。这两列数据在Python程序中存储到字典变量中。

        其次,根据表之间关联关系,找出B表中要增加的数据,同样下载到本地,复制ID到文本文件中,该ID用于转换新增ID。

        最后,通过下面程序生成对应新增的ID,保存到文件中,然后上传数据到数据库。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

dict = {}
#读取对应的ID,并存储为字典类型
file = open('C:\Users\Administrator\Desktop\idExchange.txt')
lines = file.readlines()
for line in lines:
#print line
#注意ID位置,此处新增ID在前,对应原数据ID在后
dict.setdefault(line.split("\t")[1].split("\n")[0],line.split("\t")[0])
print dict

#读取要转换的ID文件,把转换后的ID写入新文件
file2 = open('C:\Users\Administrator\Desktop\price.txt')
lines2 = file2.readlines()
file3 = open('C:\Users\Administrator\Desktop\priceNj.txt','w')
#lines3 = file3.readlines()
for line in lines2:
#print dict[line.split('\n')[0]]
file3.writelines(dict[line.split('\n')[0]])
file3.write('\n')
print "》》》》写入完成"

file.close()
file2.close()
file3.close()


         其他关联的表格以同样的方法增加数据,当然你也可以直接在Excel表格中操作,而不必复制ID到文本文件中。这就需要使用第三方模块库来操作,有兴趣的同学可以试试。

       程序中所用文件下载地址:http://download.csdn.net/detail/u010657094/9621274
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: