最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python處理csv數據的方法

 更新時間:2015年03月11日 10:04:34   作者:kirkversion1  
這篇文章主要介紹了python處理csv數據的方法,實例分析了Python處理csv數據的技巧,需要的朋友可以參考下

本文實例講述了python處理csv數據的方法。分享給大家供大家參考。具體如下:

Python代碼:

復制代碼 代碼如下:

#coding=utf-8
__author__ = 'dehua.li'
from datetime import *
import datetime
import csv
import sys
import time
import string
import os
import os.path
import pylab as plt
rootdir='/nethome/dehua.li/orderlifeCycleData/xingzheng'
writeFileDir="/nethome/dehua.li/orderlifeMyWork/xingzheng/csv"
heyueFile="/nethome/dehua.li/orderlifeCycleData/heyue_150128.csv"
ms_acked="1"
msg=[]
ex=[]
def getTheDate(date):
    [filenamePart1,filenamePart2]=string.split(filename,'.')
    [filenamePart11,filenamePart12,filenamePart13]=string.split(filenamePart1,'_')
    return filenamePart13
LocalTime=datetime.datetime.fromtimestamp(time.mktime(time.strptime("2014-11-04 20:59:59","%Y-%m-%d %H:%M:%S")))
for parent,dirname,filenames in os.walk(rootdir):
    for filename in filenames:
        fileNameWrite=os.path.join(writeFileDir,filename)
        print fileNameWrite
        csvfile00=open(fileNameWrite,'wb')
        writer1=csv.writer(csvfile00)
        writer1.writerow(['FeedCode','OrderId','Status','LocalTime','Time','Exchange'])
        fileName=os.path.join(parent,filename)
        [filenamePart1,filenamePart2]=string.split(filename,'.')
        [filenamePart11,filenamePart12,filenamePart13]=string.split(filenamePart1,'_')
        #filenamePart11_filenamePart12_filenamePart13.filenamePart2:dongzheng_orderlifeCycleData_20150111.csv
        print fileName
        with open(fileName,'rb') as csvfile:
            reader=csv.reader(csvfile)
            CsvItem=[row for row in reader]
            for item in CsvItem:
                if item[3]=='TPO':
                    #print " filter TPO "
                    continue
                if item[12]=='Sent':
                    [tm_local,ms_local]=string.split(item[15],'.')
                    [tm_localup,ms_localup]=string.split(item[19],'.')
                    LocalTime=datetime.datetime.fromtimestamp(time.mktime(time.strptime(tm_local,"%Y-%m-%d %H:%M:%S")))
                    LocalUpdate=datetime.datetime.fromtimestamp(time.mktime(time.strptime(tm_localup,"%Y-%m-%d %H:%M:%S")))
                    tm=int(((LocalTime-LocalUpdate).seconds))*1000
                    ms_sent=str(int(ms_local)-int(ms_localup)+tm)
                    if int(ms_sent)>10*60*1000:
                        print "ms_sent>600000"
                        continue
                    if(int(ms_local)-int(ms_localup)+tm)<0:
                        print 'wrong1'
                    msg=[]
                    msg.append(item[0])
                    msg.append(item[1])
                    msg.append(item[12])
                    msg.append(item[15])
                    msg.append(ms_sent)
                    with open(heyueFile,'rb') as csvfile1:
                        reader=csv.reader(csvfile1)
                        CsvItem=[row for row in reader]
                        for Item in CsvItem:
                            if Item[1]==item[0]:
                                msg.append(Item[3])
                                writer1.writerow(msg)
                                #print 'write ok'
                                ex=Item[3]
                                break
                    csvfile1.close()
                    with open(fileName,'rb') as csvfile22:
                        reader=csv.reader(csvfile22)
                        CsvItem2=[row for row in reader]
                        for item_ in CsvItem2:
                            if item_[12]=='Acked' and item_[1]==item[1]:
                                [tm_local2,ms_local2]=string.split(item_[15],'.')
                                LocalTime2=datetime.datetime.fromtimestamp(time.mktime(time.strptime(tm_local2,"%Y-%m-%d %H:%M:%S")))
                                tm2=int(((LocalTime2-LocalTime).seconds))*1000
                                ms_acked=str(int(ms_local2)-int(ms_local)+tm2)
                                if int(ms_acked)>10*60*1000:
                                    print "MSacked>600000"
                                    continue
                                msg=[]
                                msg.append(item_[0])
                                msg.append(item_[1])
                                msg.append(item_[12])
                                msg.append(item_[15])
                                msg.append(ms_acked)
                    with open(heyueFile,'rb') as csvfile111:
                        reader=csv.reader(csvfile111)
                        CsvItem=[row for row in reader]
                        for Item in CsvItem:
                            if Item[1]==item[0]:
                                msg.append(Item[3])
                                writer1.writerow(msg)
                                #print 'write ok'
                                break
                                #print "write ok"
                    csvfile22.close()
        csvfile.close()
        csvfile00.close()

復制代碼 代碼如下:

#coding=utf-8
#__author__ = 'dehua.li'
from datetime import *
import datetime
import csv
import sys
import time
import string
import os
import os.path
import pylab as plt
def median(lst):
    even = (0 if len(lst) % 2 else 1) + 1
    half = (len(lst) - 1) / 2
    return sum(sorted(lst)[half:half + even]) / float(even)
def mean(lst):
    if len(lst)==0:
        return 0
    return sum(lst)/len(lst)
nightLine="21:01:00"
morningLine="09:01:00"
def getTheDate(date):
    [filenamePart1,filenamePart2]=string.split(filename,'.')
    [filenamePart11,filenamePart12,filenamePart13]=string.split(filenamePart1,'_')
    return filenamePart13
def afterOneMin(time):
    [tm_local,ms_local]=string.split(time,'.')
    [ymd,hms]=string.split(tm_local,' ')
    flag=0
    if hms>"21:01:00":
        flag=1
    elif hms>"09:01:00" and hms<"20:00:00":
        flag=1
    elif hms>"00:00:00" and hms<"05:00:00":
        flag=1
    return flag
rootdir="/nethome/dehua.li/orderlifeMyWork/xingzheng/csv"
#csvfileMaxMin = open('e:\dehua.li\csv\__xingzhenMaxMin.csv','wb')
#writer1 = csv.writer(csvfileMaxMin)
#writer1.writerow(['FeedCode','date','SentMaxTime','SentMaxLocalTime','SentMinTime','SentMinLocalTime','SentMeanTime','SentMedian','AckedMaxTime','AckedMaxLocalTime','AckedMinTime','AckedMinLocalTime','AckedMeanTime','AckedMedianTime','Exchange'])
#writer1.writerow(['FeedCode','date','SentMaxTime','SentMinTime','SentMeanTime','SentMedian','AckedMaxTime','AckedMinTime','AckedMeanTime','AckedMedianTime','Exchange'])
msg=[]
codeList=list()
orderList=list()
itemSentList=[]
itemAckedList=[]
feedCode=[]
exchange=[]
zhengshangSentMedian=0
zhengshangSentMean=0
zhengshangAckedMedian=0
zhengshangAckedMean=0
dashangSentMedian=0
dashangSentMean=0
dashangAckedMedian=0
dashangAckedMean=0
shangqiSentMedian=0
shangqiSentMean=0
shangqiAckedMedian=0
shangqiAckedMean=0
zhongjinSentMedian=0
zhongjinSentMean=0
zhongjinAckedMedian=0
zhongjinAckedMean=0
zhengshangSent=[]
zhengshangAcked=[]
dashangSent=[]
dashangAcked=[]
shangqiSent=[]
shangqiAcked=[]
zhongjinSent=[]
zhongjinAcked=[]
zhengshangSentMedianAll=[]
zhengshangSentMeanAll=[]
zhengshangAckedMedianAll=[]
zhengshangAckedMeanAll=[]
dashangSentMedianAll=[]
dashangSentMeanAll=[]
dashangAckedMedianAll=[]
dashangAckedMeanAll=[]
shangqiSentMedianAll=[]
shangqiSentMeanAll=[]
shangqiAckedMedianAll=[]
shangqiAckedMeanAll=[]
zhongjinSentMedianAll=[]
zhongjinSentMeanAll=[]
zhongjinAckedMedianAll=[]
zhongjinAckedMeanAll=[]
zhengshang='0'
dashang='0'
shangqi='0'
zhongjin='0'
with open('/nethome/dehua.li/orderlifeCycleData/heyue_150128.csv','rb') as csvfile:
    reader=csv.reader(csvfile)
    csvItem=[row for row in reader]
    zhengshang=csvItem[300][3]
    dashang=csvItem[5][3]
    shangqi=csvItem[165][3]
    zhongjin=csvItem[435][3]
    #for item in csvItem:
    #    if item[3]==zhengshang:
     #       print item
for parent,dirname,filenames in os.walk(rootdir):
    for filename in filenames:
        fileName=os.path.join(rootdir,filename)
        csvfile1=open(fileName,'rb')
        reader=csv.reader(csvfile1)
        CsvItem=[row for row in reader]
        for item in CsvItem:
            if item[0]=='FeedCode':
                continue
            if item[0] not in codeList:
                codeList.append(item[0])
                #print CsvItem[15]
            if len(item)<=5:
                print fileName
                print item
                print '++++++++++++++++++++++++++++++'
            #if afterOneMin(item[3])==0:
            #    print item[3]
            #    continue
            if item[5]==zhengshang and item[2]=='Sent':
                zhengshangSent.append(int(item[4]))
            elif item[5]==zhengshang and item[2]=='Acked':
                zhengshangAcked.append(int(item[4]))
            elif item[5]==dashang and item[2]=='Sent':
                 dashangSent.append(int(item[4]))
            elif item[5]==dashang and item[2]=='Acked':
                 dashangAcked.append(int(item[4]))
            elif item[5]==shangqi and item[2]=='Sent':
                 shangqiSent.append(int(item[4]))
                 if int(item[4])>=600000:
                     print "------------"
                     print item
            elif item[5]==shangqi and item[2]=='Acked':
                 shangqiAcked.append(int(item[4]))
            elif item[5]==zhongjin and item[2]=='Sent':
                 zhongjinSent.append(int(item[4]))
            elif item[5]==zhongjin and item[2]=='Acked':
                 zhongjinAcked.append(int(item[4]))
            else:
                 print "wrong info"
                 print item
        if mean(shangqiSent)>420000:
            print sum(shangqiSent)
            print len(shangqiSent)
            print item
            print fileName
            print shangqiSent
        zhengshangSentMedian=median(zhengshangSent)
        zhengshangSentMean=mean(zhengshangSent)
        zhengshangAckedMedian=median(zhengshangAcked)
        zhengshangAckedMean=mean(zhengshangAcked)
        dashangSentMedian=median(dashangSent)
        dashangSentMean=mean(dashangSent)
        dashangAckedMedian=median(dashangAcked)
        dashangAckedMean=mean(dashangAcked)
        shangqiSentMedian=median(shangqiSent)
        shangqiSentMean=mean(shangqiSent)
        shangqiAckedMedian=median(shangqiAcked)
        shangqiAckedMean=mean(shangqiAcked)
        zhongjinSentMedian=median(zhongjinSent)
        zhongjinSentMean=mean(zhongjinSent)
        zhongjinAckedMedian=median(zhongjinAcked)
        zhongjinAckedMean=mean(zhongjinAcked)
        #if mean(shangqiSent)>70:
        #    print '================================'
        #    print fileName
        #print codeList
        '''
        for listItem in codeList:
            itemSentList=[]
            itemAckedList=[]
            for item in CsvItem:
                if item[0]==listItem and item[2]=='Sent':
                    itemSentList.append(int(item[4]))
                    exchange=item[5]
                elif  item[0]==listItem and item[2]=='Acked':
                    itemAckedList.append(int(item[4]))
            #print itemSentList
            itemMaxSent=max(itemSentList)
            itemMinSent=min(itemSentList)
            itemAvgSent=sum(itemSentList)/len(itemSentList)
            itemMaxAcked=max(itemAckedList)
            itemMinAcked=min(itemAckedList)
            itemAvgAcked=sum(itemAckedList)/len(itemAckedList)
            SentMedian=median(itemSentList)
            AckedMedian=median(itemAckedList)
            msg=[]
            msg.append(listItem)         #0
            msg.append("2015/01/14")   #1
            msg.append(itemMaxSent)     #2
            msg.append(itemMinSent)     #3
            msg.append(itemAvgSent)     #4
            msg.append(SentMedian)     #5
            msg.append(itemMaxAcked)    #6
            msg.append(itemMinAcked)     #7
            msg.append(itemAvgAcked)     #8
            msg.append(AckedMedian)      #9
            msg.append(exchange)          #10
            if len(msg)>15:
               print "------------------------------"
               print msg
            writer1.writerow(msg)
         '''
        zhengshangSentMedianAll.append(zhengshangSentMedian)
        zhengshangSentMeanAll.append(zhengshangSentMean)
        zhengshangAckedMedianAll.append(zhengshangAckedMedian)
        zhengshangAckedMeanAll.append(zhengshangAckedMean)
        dashangSentMedianAll.append(dashangSentMedian)
        dashangSentMeanAll.append(dashangSentMean)
        dashangAckedMedianAll.append(dashangAckedMedian)
        dashangAckedMeanAll.append(dashangAckedMean)
        shangqiSentMedianAll.append(shangqiSentMedian)
        shangqiSentMeanAll.append(shangqiSentMean)
        shangqiAckedMedianAll.append(shangqiAckedMedian)
        shangqiAckedMeanAll.append(shangqiAckedMean)
        zhongjinSentMedianAll.append(zhongjinSentMedian)
        zhongjinSentMeanAll.append(zhongjinSentMean)
        zhongjinAckedMedianAll.append(zhongjinAckedMedian)
        zhongjinAckedMeanAll.append(zhongjinAckedMean)
plt.figure(1)
plt.figure(2)
plt.figure(3)
plt.figure(4)
plt.figure(1)
plt.title('SentMean r-zhengshang b-dashang,green-shangqi grey-zhongjin')
plt.plot(range(1,len(zhengshangSentMeanAll)+1),zhengshangSentMeanAll,'r')
plt.plot(range(1,len(dashangSentMeanAll)+1),dashangSentMeanAll,'b')
plt.plot(range(1,len(shangqiSentMeanAll)+1),shangqiSentMeanAll,'g')
plt.plot(range(1,len(zhongjinSentMeanAll)+1),zhongjinSentMeanAll,'grey')
plt.savefig('/nethome/dehua.li/orderlifeMyWork/xingzheng/data_noTPO_in10minutes/SentMean.png')
plt.figure(2)
plt.title('SentMedian r-zhengshang b-dashang,green-shangqi grey-zhongjin')
plt.plot(range(1,len(zhengshangSentMedianAll)+1),zhengshangSentMedianAll,'r')
plt.plot(range(1,len(dashangSentMedianAll)+1),dashangSentMedianAll,'b')
plt.plot(range(1,len(shangqiSentMedianAll)+1),shangqiSentMedianAll,'g')
plt.plot(range(1,len(zhongjinSentMedianAll)+1),zhongjinSentMedianAll,'grey')
plt.savefig('/nethome/dehua.li/orderlifeMyWork/xingzheng/data_noTPO_in10minutes/SentMedian.png')
plt.figure(3)
plt.title('AckedMean r-zhengshang b-dashang,green-shangqi grey-zhongjin')
plt.plot(range(1,len(zhengshangAckedMeanAll)+1),zhengshangAckedMeanAll,'r')
plt.plot(range(1,len(dashangAckedMeanAll)+1),dashangAckedMeanAll,'b')
plt.plot(range(1,len(shangqiAckedMeanAll)+1),shangqiAckedMeanAll,'g')
plt.plot(range(1,len(zhongjinAckedMeanAll)+1),zhongjinAckedMeanAll,'grey')
plt.savefig('/nethome/dehua.li/orderlifeMyWork/xingzheng/data_noTPO_in10minutes/AckedMean.png')
plt.figure(4)
plt.title('AckedMedian r-zhengshang b-dashang,green-shangqi grey-zhongjin')
plt.plot(range(1,len(zhengshangAckedMedianAll)+1),zhengshangAckedMedianAll,'r')
plt.plot(range(1,len(dashangAckedMedianAll)+1),dashangAckedMedianAll,'b')
plt.plot(range(1,len(shangqiAckedMedianAll)+1),shangqiAckedMedianAll,'g')
plt.plot(range(1,len(zhongjinAckedMedianAll)+1),zhongjinAckedMedianAll,'grey')
plt.savefig('/nethome/dehua.li/orderlifeMyWork/xingzheng/data_noTPO_in10minutes/AckedMedian.png')
plt.show()
print 'over'

希望本文所述對大家的Python程序設計有所幫助。

相關文章

  • 關于python的編碼與解碼decode()方法及zip()函數

    關于python的編碼與解碼decode()方法及zip()函數

    這篇文章主要介紹了關于python的編碼與解碼decode()方法及zip()函數,encode0?方法是字符串對象內置的一個實現方法用于實現編碼操作,需要的朋友可以參考下
    2023-04-04
  • Python數據可視化實現多種圖例代碼詳解

    Python數據可視化實現多種圖例代碼詳解

    這篇文章主要介紹了Python數據可視化實現多種圖例代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 基于Python創(chuàng)建可定制的HTTP服務器

    基于Python創(chuàng)建可定制的HTTP服務器

    這篇文章主要為大家演示一下如何使用?http.server?模塊來實現一個能夠發(fā)布網頁的應用服務器,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-05-05
  • python實現機械分詞之逆向最大匹配算法代碼示例

    python實現機械分詞之逆向最大匹配算法代碼示例

    這篇文章主要介紹了python實現機械分詞之逆向最大匹配算法代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python讀取nc文件的多種方式總結

    Python讀取nc文件的多種方式總結

    Python中讀取NetCDF文件有多種方法,包括使用netCDF4、xarray、h5py、SciPy和Pseudonetcdf等庫,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-09-09
  • Python CVXOPT模塊安裝及使用解析

    Python CVXOPT模塊安裝及使用解析

    這篇文章主要介紹了Python CVXOPT模塊安裝及使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python中的四種交換數值的方法解析

    Python中的四種交換數值的方法解析

    這篇文章主要介紹了Python中的四種交換數值的方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 在PyTorch中使用標簽平滑正則化的問題

    在PyTorch中使用標簽平滑正則化的問題

    這篇文章主要介紹了如何在PyTorch中使用標簽平滑正則化的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 30?個?Python?函數,加速數據分析處理速度

    30?個?Python?函數,加速數據分析處理速度

    這篇文章主要介紹了30?個?Python?函數,加速數據分析處理速度,Pandas?是?Python?中最廣泛使用的數據分析和操作庫。它提供了許多功能和方法,可以加快數據分析和預處理步驟,下面我們就一起來看看這些方法吧,需要的小伙伴可以參考一下,希望給你帶來幫助
    2021-12-12
  • 使用Python實現圖像融合及加法運算

    使用Python實現圖像融合及加法運算

    這篇文章主要介紹了使用Python實現圖像融合及加法運算,Python調用OpenCV實現圖像融合及加法運算,包括三部分知識:圖像融合、圖像加法運算、圖像類型轉換,下文詳細內容現需要的小伙伴可以參考一下
    2022-05-05

最新評論

米脂县| 泾阳县| 顺平县| 平阴县| 泽州县| 柳林县| 长春市| 三明市| 海南省| 怀宁县| 肃北| 铁岭市| 宣城市| 长春市| 成安县| 泽州县| 梧州市| 莱阳市| 隆林| 永登县| 思南县| 灵山县| 曲周县| 昆明市| 凉城县| 合川市| 巩留县| 建湖县| 临安市| 周宁县| 宝鸡市| 大名县| 兴海县| 盘山县| 滦南县| 英吉沙县| 邯郸县| 延庆县| 泗水县| 芜湖县| 嘉兴市|