1. 程式人生 > >pandas21 讀csv檔案read_csv(10.註釋和空行)(詳細 tcy)

pandas21 讀csv檔案read_csv(10.註釋和空行)(詳細 tcy)

註釋和空行 2017/12/27

目錄:
第1部分:csv文字檔案讀寫

    pandas 讀csv檔案read_csv(1.文字讀寫概要)https://mp.csdn.net/postedit/85289371
    pandas 讀csv檔案read_csv(2.read_csv引數介紹)https://mp.csdn.net/postedit/85289928
    pandas 讀csv檔案read_csv(3.dtypes指定列資料型別)https://mp.csdn.net/postedit/85290575
    pandas 讀csv檔案read_csv(4.to_csv文字資料寫)https://mp.csdn.net/postedit/85290962
pandas 讀csv檔案read_csv(5.文字資料讀寫例項)https://mp.csdn.net/postedit/85291123 pandas 讀csv檔案read_csv(6.命名和使用列)https://mp.csdn.net/postedit/85291430 pandas 讀csv檔案read_csv(7.索引)https://mp.csdn.net/postedit/85291658 pandas 讀csv檔案read_csv(8.方言和分隔符)https://mp.csdn.net/postedit/85291994 pandas 讀csv檔案read_csv(9.浮點轉換和NA值)https://mp.csdn.net/postedit/85292391
pandas 讀csv檔案read_csv(10.註釋和空行)https://mp.csdn.net/postedit/85292609 pandas 讀csv檔案read_csv(11.日期時間處理) https://mp.csdn.net/postedit/85292925 pandas 讀csv檔案read_csv(12.迭代和塊)https://mp.csdn.net/postedit/85293639 pandas 讀csv檔案read_csv(13.read_fwf讀固定寬度資料)https://mp.csdn.net/postedit/85294010 第2部分: pandas hdf檔案讀寫簡要https://mp.csdn.net/postedit/85294299
pandas excel讀寫簡要https://mp.csdn.net/postedit/85294545 第3部分: python中csv模組用法tcy https://mp.csdn.net/postedit/85228189 pandas讀csv檔案read_csv錯誤解決辦法7種https://mp.csdn.net/postedit/85228808 pandas to_string用法https://mp.csdn.net/postedit/85294935

例項: 

# 例項1:忽略行註釋和空行
# 如果comment指定了引數,則將忽略完全註釋的行。預設情況下,也會忽略完全空行。

data = '\na,b,c\n \n                               # commented line\n1,2,3\n\n4,5,6'
pd.read_csv(StringIO(data), comment='#')           #忽略完全註釋,忽略空行
pd.read_csv(StringIO(data), skip_blank_lines=False)#忽略完全註釋,空行用nan值填寫  

警告: 

# 忽略的行的存在可能會產生涉及行號的含糊不清;
# 該引數header使用行號(忽略註釋/空行),同時skiprows使用行號(包括註釋/空行)  

例項2:

data = '#comment\na,b,c\nA,B,C\n1,2,3'
pd.read_csv(StringIO(data), comment='#', header=1)

#   A B C
# 0 1 2 3  

例項3: 

# 如果同時header和skiprows指定,header對應skiprows相對的結束的位置

data = '# empty\n' \
       '# second empty line\n' \
       '# third empty line\n' \
       'X,Y,Z\n' \
       '1,2,3\n' \
       'A,B,C\n' \
       '1,2.,4.\n' \
       '5.,NaN,10.0'

print(data)
pd.read_csv(StringIO(data), comment='#', skiprows=4, header=1)
# 輸出:
    A   B   C
0 1.0 2.0  4.0
1 5.0 NaN 10.0  

例項4: 

data="ID,level,category\n" \
     "Patient1,123000,x  # really unpleasant\n" \
     "Patient2,23000,y   # wouldn't take his medicine\n" \
     "Patient3,1234018,z # awesome"# 原資料包含註釋

pd.read_csv(StringIO(data))
# 輸出:
       ID  level category
0 Patient1 123000    x # really unpleasant
1 Patient2 23000     y # wouldn't take his medicine
2 Patient3 1234018   z # awesome

pd.read_csv(StringIO(data), comment='#')#忽略註釋
# 輸出:
        ID level category
0 Patient1 123000   x
1 Patient2 23000    y
2 Patient3 1234018  z