Pandas數據讀取CSV

一、CSV讀取和導出

1、基本參數

pd.read_csv(filepath,encoding,sep,header,names,usecols,index_col,skiprows,nrows……)
filepath:文件存儲路徑,可以用r""進行非轉義限定,路徑最好是純英文(文件名也是),不然會經常碰到編碼不對的問題,最方便是直接將文件存儲在pandas默認的路徑下,則直接輸入文件名即可
encoding:pandas默認編碼是utf-8,如果同樣讀取默認uft-8的txt或者json格式,則可以忽略這個參數,如果是csv,且數據中有中文時,則要指定encoding=‘gbk’
sep:指定分割符形式,CSV默認逗號分割,可以忽略這個參數,如果是其它分割方式,則要填寫
header: 指定第一行是否是列名,通常有三種用法,忽略或header=0(表示數據第一行爲列名),header=None(表明數據沒有列名),常與names搭配使用
names: 指定列名,通常用一個字符串列表表示,當header=0時,用names可以替換掉第數據中的第一行作爲列名,如果header=None,用names可以增加一行作爲列名,如果沒有header參數時,用names會增加一行作爲列名,原數據的第一行仍然保留
usecols:一個字符串列表,可以指定讀取的列名
index_col: 一個字符串列表,指定哪幾列作爲索引
skiprows: 跳過多少行再讀取數據,通常是數據不太乾淨,需要去除掉表頭纔會用到
nrows: 僅讀取多少行,後面的處理也都僅限於讀取的這些行
import pandas as pd

def read_csv(path):
    """
        讀取csv
    :param path: csv路徑
    :return:
    """
    data = pd.read_csv(path, encoding='gbk')
    dl = data.values.tolist();
    return dl
import pandas as pd

def read_csv(path, typeOfLevel):
    """
        讀取csv 通過typeOfLevel列過濾數組
    :param path: csv路徑
    :param typeOfLevel: 列名
    :return:
    """
    data = pd.read_csv(path, encoding = 'gbk', iterator=True, chunksize=50)
    df = pd.concat([chunk[chunk['typeOfLevel'] == typeOfLevel] for chunk in data])
    dl = df.values.tolist();
    return dl
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章