免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2837 | 回复: 6
打印 上一主题 下一主题

在线等:python dtype类型 二进制数据转成明码,分类型处理 录入文本,数据重复怎么解决 [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-15 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-21 09:48 |只看该作者 |倒序浏览
本帖最后由 yangchao1117 于 2015-07-21 09:55 编辑

        if DATASOURCE == 0:
            file_names = glob(Unique_dir_name + '*.dat')# 打开目录下的二进制文件  目录里有两个版本的数据包
            print  "glob"
            rawData = numpy.zeros(0, dtype=TCMDataType)
            rawNewData = numpy.zeros(0, dtype=TCMDataNewType)
            for file_name in file_names:
                tmp = 0
                print file_name #输出文件名

                tmp_data = numpy.zeros(0, dtype=TCMDataType)
                tmp_data = numpy.fromfile(file_name, dtype=TCMDataType)#从文件里读一个数组类型的 数据

                if tmp_data['DataPackageSize'][0] == 844:#判断 第一个元素的某个值 做分类处理(版本标识)844、850
                    rawData = numpy.append(
                        rawData, numpy.fromfile(file_name, dtype=TCMDataType))  #第一类 放到rawdata
                else:
                    rawNewData = numpy.append(
                        rawNewData, numpy.fromfile(file_name, dtype=TCMDataNewType))#第二类 放到 rawdata
            #最后把分完类的 数组  传给 函数, 写入文本文件
            tmp_func(rawData)
         
            tmp_Newfunc(rawNewData)
            print  "end"




            tmp_func(rawData)、tmp_Newfuc(rawData) 这两个函数主要作用是 把数组里的元素值 写到文本里。
按照 我想的 逻辑应该是 第一类数据 在第一个文本,第二类数据 在第二个文本。

问题 是 tmp_func(rawData), tmp_Newfunc(rawNewData) 执行后 第二个文本文件 居然会有第一类数据的内容
如果 任何注释其中掉一个插入数据 函数,  执行另一个单个的插入文本函数   数据是没有问题的。
现在疑惑   我上边那样的写法 对不对。

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
2 [报告]
发表于 2015-07-21 09:56 |只看该作者
print  rawData rawNewData 看看里面的数据吧

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-15 06:20:00
3 [报告]
发表于 2015-07-21 09:59 |只看该作者
可以 直接那么写么 print rawData, 我试下。谢谢。我对python 的语法不熟。算是三把刀。回复 2# Linux_manne


   

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-15 06:20:00
4 [报告]
发表于 2015-07-21 10:06 |只看该作者
可以的,我以为二进制数据包不能输出。 版本840  rawData 74条, 版本850的数据 rawNewData 也是 74条  都没有没有问题。 回复 2# Linux_manne


   

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
5 [报告]
发表于 2015-07-21 10:08 |只看该作者
里面数据是一样的?

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-15 06:20:00
6 [报告]
发表于 2015-07-21 10:14 |只看该作者
不一样 ,  版本号 和  数据、长度 都对。我现在在 试着把录入文本  函数里的变量 重新改下。回复 5# Linux_manne


   

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-09-15 06:20:00
7 [报告]
发表于 2015-07-21 10:22 |只看该作者
哥们 找着原因了。低级错误,这段码有点忘了,再加上没看全。主要是别人写的,我一直以为 是自己python 那个数据类型用的不对。有个全局变量,录入文本年的时候重新定义一个,就OK了。 非常谢谢你。回复 5# Linux_manne


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP