日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python解析CSV數(shù)據(jù) - 通過Pandas解析邏輯分析儀導出的CSV數(shù)據(jù)

系統(tǒng) 2168 0

Python通過Pandas解析邏輯分析儀導出的CSV數(shù)據(jù)

  • 腳本要解決的問題
  • Python代碼
  • 備注:

腳本要解決的問題

為方便分析邏輯分析儀導出的csv數(shù)據(jù), 簡單做了個轉(zhuǎn)換工具。。。
邏輯分析儀導出的csv數(shù)據(jù)是根據(jù)時間戳逐行排序,很難分析一個完整的幀數(shù)據(jù),

例如下圖:
下圖邏輯分析儀工具導出的csv數(shù)據(jù)有3w多行,沒辦法直接通過該文件對數(shù)據(jù)幀進行分析,而且重點是。。??磿r間長了太費眼!
Python解析CSV數(shù)據(jù) - 通過Pandas解析邏輯分析儀導出的CSV數(shù)據(jù)_第1張圖片
所以通過Pandas簡單對數(shù)據(jù)做些行列變換,好方便查看與分析數(shù)據(jù)、

Python代碼

Python腳本如下:

            
              
                import
              
               pandas 
              
                as
              
               pd

              
                import
              
               numpy 
              
                as
              
               np

              
                import
              
               time


              
                def
              
              
                WritetoFile
              
              
                (
              
              FileName
              
                ,
              
              Data
              
                )
              
              
                :
              
              
                #fileName= 'record.txt'
              
              
                with
              
              
                open
              
              
                (
              
              FileName
              
                ,
              
              
                'w'
              
              
                )
              
              
                as
              
               record
              
                :
              
              
        strr 
              
                =
              
              
                "\n"
              
              
        content 
              
                =
              
               strr
              
                .
              
              join
              
                (
              
              Data
              
                )
              
              
        record
              
                .
              
              write
              
                (
              
              content
              
                +
              
              
                '\n'
              
              
                )
              
              
                print
              
              
                (
              
              
                'Data processing.... pls. wait and make sure rename input file to input.csv..'
              
              
                )
              
                      
df 
              
                =
              
               pd
              
                .
              
              read_csv
              
                (
              
              
                'input.csv'
              
              
                ,
              
               low_memory
              
                =
              
              
                False
              
              
                )
              
              


data 
              
                =
              
               df
              
                .
              
              set_index
              
                (
              
              
                [
              
              
                'Packet ID'
              
              
                ,
              
              
                'Address'
              
              
                ,
              
              
                'Read/Write'
              
              
                ,
              
              
                'ACK/NAK'
              
              
                ,
              
              
                'Time [s]'
              
              
                ]
              
              
                )
              
              

st 
              
                =
              
               data
              
                .
              
              unstack
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              st
              
                )
              
              
                print
              
              
                (
              
              
                'Finish processing, now create result file....'
              
              
                )
              
              

st
              
                .
              
              to_csv
              
                (
              
              
                'result.csv'
              
              
                )
              
              

st
              
                .
              
              to_csv
              
                (
              
              
                'resultTag.txt'
              
              
                ,
              
              sep
              
                =
              
              
                ' '
              
              
                )
              
              
                print
              
              
                (
              
              
                'All Done!, please check resultTag.txt and result.csv'
              
              
                )
              
              
                print
              
              
                (
              
              
                'this window will close after 5s'
              
              
                )
              
              

time
              
                .
              
              sleep
              
                (
              
              
                5
              
              
                )
              
            
          

轉(zhuǎn)換結(jié)果txt版本為:

Python解析CSV數(shù)據(jù) - 通過Pandas解析邏輯分析儀導出的CSV數(shù)據(jù)_第2張圖片

轉(zhuǎn)換結(jié)果csv版本為:
Python解析CSV數(shù)據(jù) - 通過Pandas解析邏輯分析儀導出的CSV數(shù)據(jù)_第3張圖片

這樣看起來就方便多了, 其中txt里是為了方便數(shù)據(jù)搜索,而result. csv里才是詳細數(shù)據(jù)。 (txt需要用NotePad++打開格式才正確)

備注:

執(zhí)行過程中主要是靠python的Data重組運算, 如果數(shù)據(jù)量較大,可能需要等待一段時間,并占用大量內(nèi)存。。。 我實測的7w多行數(shù)據(jù)總共大概要等十分鐘, 所以還是盡量去掉無用數(shù)據(jù),

在這里插入圖片描述
Python解析CSV數(shù)據(jù) - 通過Pandas解析邏輯分析儀導出的CSV數(shù)據(jù)_第4張圖片


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 芒康县| 新建县| 喀什市| 子长县| 巨鹿县| 康乐县| 若羌县| 安宁市| 永定县| 高碑店市| 大同县| 富平县| 石台县| 宣武区| 健康| 阿坝县| 漳平市| 鄯善县| 资溪县| 建昌县| 临颍县| 屏东市| 宁国市| 中山市| 屏边| 鄱阳县| 清流县| 尖扎县| 承德县| 泰和县| 三穗县| 宕昌县| 延吉市| 项城市| 威宁| 正宁县| 吉木萨尔县| 三门县| 扎兰屯市| 平原县| 鹤岗市|