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

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

系統(tǒng) 2273 0

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

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

腳本要解決的問題

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

例如下圖:
下圖邏輯分析儀工具導(dǎo)出的csv數(shù)據(jù)有3w多行,沒辦法直接通過該文件對(duì)數(shù)據(jù)幀進(jìn)行分析,而且重點(diǎn)是。。。看時(shí)間長(zhǎng)了太費(fèi)眼!
Python解析CSV數(shù)據(jù) - 通過Pandas解析邏輯分析儀導(dǎo)出的CSV數(shù)據(jù)_第1張圖片
所以通過Pandas簡(jiǎn)單對(duì)數(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解析邏輯分析儀導(dǎo)出的CSV數(shù)據(jù)_第2張圖片

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

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

備注:

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

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 防城港市| 金湖县| 呼图壁县| 馆陶县| 天长市| 文水县| 沈阳市| 清原| 怀安县| 广西| 顺义区| 从江县| 长沙市| 五常市| 吐鲁番市| 九龙县| 宿迁市| 柳江县| 岢岚县| 老河口市| 渭南市| 葫芦岛市| 宿迁市| 梁山县| 无棣县| 钟山县| 香港 | 筠连县| 高要市| 平泉县| 留坝县| 永靖县| 石河子市| 西乡县| 宾阳县| 页游| 博罗县| 安溪县| 永仁县| 梁山县| 平安县|