Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6)

加入好友
加入社群
Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

原始資料最末兩列為空列(注意鼠標位置):

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

首6列則為非屬資料的部分

 

如何忽略空列,跳過某些列?

import os
import csv
import pandas as pd

folder= r”C:\Python\22053\230309 S21″
fname = “N5224B-20230202-161648_UFB142A-0-0240-200200_S21 dB.csv”
fpath = os.path.join(folder,fname)
#’C:\\Python\\22053\\230309 S21\\N5224B-20230202-161648_UFB142A-0-0240-200200_S21 dB.csv’

dfRaw = pd.read_csv(fpath, skip_blank_lines=True, skiprows =6)

#預設參數header=0 (第0列為標題列),剛好符合所需

print( dfRaw )

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

輸出結果:

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

 

若使用csv 模組

用以下方法濾除空列:

with open(fpath, ‘r’) as csvfile:
    reader = csv.reader(csvfile)
    lis_reader=[]
    for row in reader:
    if not row:

“””not []
True

除了[],其實還應該濾掉空白” ” tab製表符”\t”

但目前這個語法濾不掉”””

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

        continue # skip blank row
    else:lis_reader.append(row)

for i in range(3347+6,3352+6,1): #只印最末五列
    print( lis_reader[i] )

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

略過前6列則類似以下:

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN

test.txt:

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

empty \t 空白

除非鼠標移動到該位置

不然都看不出來有差異或

是否有內容

先看any() 的效果:

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

not則會將bool反向

csv模組要濾掉” ” (空白), “\t”(定位鍵)

方法如下:

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

若沒做任何濾除動作:

Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python: 如何用pandas.read_csv() 讀取逗點分隔檔並忽略空列,跳過某些列? dfRaw = pd.read_csv (fpath, skip_blank_lines = True, skiprows =6) - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *