【Pandas基礎教程】第02講 Pandas讀取資料
1. 讀取純文字檔案
pd.read_csv()
用於讀取csv、tsv、txt等純文字檔案,csv以逗號分隔,tsv以製表符分隔,txt的分隔符任意。
pd.read_csv(
filepath_or_buffer: FilePathOrBuffer, # 檔案路徑
sep=",", # 分隔符
header="infer", # 列名
names=None, # 自定義列名
index_col=None, # 索引名
dtype=None, # 資料型別
engine=None, # 解析器引擎
converters=None, # 函式轉換
encoding=None, # 檔案編碼
skipinitialspace=False, # 是否忽略分隔符後的空白
skiprows=None, # 從檔案頭部忽略的行數
skipfooter=0, # 從檔案尾部忽略的行數
nrows=None # 讀取的行數
)
- filepath_or_buffer:str, path object or file-like object。字串路徑、路徑物件或類檔案物件,包括本地檔案路徑(例如
./datas/1.csv
)、URL地址(http、ftp、s3、gs和file)等; - sep:str, default ‘,’。指定分隔符;
- header:int, list of int, default ‘infer’。指定行數作為列名,開始讀取資料的行數。
header=None
沒有列名,自動設定為數字編號;header=0
以第一行作為列名;可以傳入一個列表,形成多重列名,列表中未指定的中間行將被跳過; - names:array-like, optional。自定義列名;
- index_col:int, str, sequence of int / str, or False, default None,指定列數/列名作為索引名,可以傳入一個序列,形成多重索引;
- dtype:Type name or dict of column -> type, optional,指定各列的資料型別,例如
{'a': np.float64, 'b': np.int32}
; - engine:{‘c’, ‘python’}, optional,指定解析器引擎;
- converters:dict, optional,對某些列進行函式轉換,例如
{'金額': lambda x: x+1, '交易量': lambda x: x*2}
; - encoding:str, optional,指定檔案編碼;
- skipinitialspace:bool, default False,是否忽略分隔符後的空白;
- skiprows:list-like, int or callable, optional,從檔案頭部忽略的行數;
- skipfooter:int, default 0,從檔案尾部忽略的行數;
- nrows:int, optional,指定讀取的行數,用於讀取部分資料;
C引擎解析速度更快,Python引擎功能更完善。如果分隔符為None,C引擎無法自動檢測分隔符,強制使用Python引擎,它呼叫Python內建嗅探器工具
csv.Sniffer
檢測分隔符。此外,超過1個字元且不同於\s+
的分隔符將被視為正規表示式,C引擎不能解析正規表示式,強制使用Python引擎。
2. 讀取Excel檔案
pd.read_excel()
用於讀取Excel檔案,包括xls、xlsx、xlsm、xlsb、odf、ods和odt等。
pd.read_excel(
io, # 檔案路徑
sheet_name=0, # 工作表
header=0, # 列名
names=None, # 自定義列名
index_col=None, # 索引名
dtype=None, # 資料型別
engine=None, # 解析器引擎
converters=None, # 函式轉換
skiprows=None, # 從檔案頭部忽略的行數
skipfooter=0, # 從檔案尾部忽略的行數
nrows=None, # 讀取的行數
):
- io:str, bytes, ExcelFile, xlrd.Book, path object, or file-like object,字串路徑、路徑物件或類檔案物件,包括本地檔案路徑(例如
./datas/1.xls
)、URL地址(http、ftp、s3、gs和file)等; - sheet_name:str, int, list, or None, default 0,指定工作表,可以是多張工作表,返回字典,
sheet_name=None
獲取所有工作表; - engine:str, default None,指定解析器引擎,必須與檔案型別相匹配,包括xlrd、openpyxl、odf和pyxlsb等。
3. 讀取MySQL資料庫
pd.read_sql()
用於讀取MySQL資料庫,它是 read_sql_table()
和 read_sql_query()
的便捷封裝,根據輸入情形委派給特定函式。
pd.read_sql(
sql, # 查詢語句
con, # 資料庫連線
index_col=None, # 索引名
)
- sql:str or SQLAlchemy Selectable (select or text object),查詢語句;
- con:SQLAlchemy connectable, str, or sqlite3 connection,指定資料庫連線;
4. 資料庫魔法命令
%load_ext sql
%sql mysql+pymysql://username:password@localhost/database_name
data = %sql select * from table_name
df = data.DataFrame()
相關文章
- Pandas進階貳 pandas基礎
- Pandas基礎
- Pandas資料讀寫
- 處理pandas讀取資料為nan時NaN
- Pandas讀寫資料庫資料庫
- Pandas 基礎 (5) - 處理缺失的資料
- Pandas 基礎 (2) - Dataframe 基礎
- Pandas基礎介紹
- Pandas基礎學習
- pandas - 基礎屬性
- 基於python的大資料分析-pandas資料讀取(程式碼實戰)Python大資料
- Pandas之:Pandas簡潔教程
- Pandas庫基礎分析——資料生成和訪問
- pandas的基礎使用,資料庫連線,檔案讀取,切片的使用等基本操作----01資料庫
- python Pandas 讀取txt表格Python
- Pandas 基礎 (18) - Period and PeriodIndexIndex
- 4.pandas基礎使用
- Pandas 基礎 (4) - 讀 / 寫 Excel 和 CSV 檔案Excel
- pandas讀取excel亂碼報錯Excel
- Pandas之:Pandas高階教程以鐵達尼號真實資料為例
- Pandas 基礎 (16) - Holidays
- Pandas 基礎 (17) - to_datetime
- Pandas 基礎 (14) - DatetimeIndex and ResampleIndex
- Pandas 基礎 (12) - Stack 和 Unstack
- 資料預處理之 pandas 讀表
- Python資料分析 Pandas模組 基礎資料結構與簡介Python資料結構
- Pandas之:深入理解Pandas的資料結構資料結構
- pandas 學習(1): pandas 資料結構之Series資料結構
- pandas 學習(2): pandas 資料結構之DataFrame資料結構
- Pandas高階教程之:category資料型別Go資料型別
- Pandas高階教程之:處理text資料
- Pandas高階教程之:處理缺失資料
- Pandas高階教程之:稀疏資料結構資料結構
- Python入門教程—資料分析工具PandasPython
- Pandas 基礎 (13) - Crosstab 交叉列表取值ROS
- 組隊學習2——pandas基礎
- pandas學習之Python基礎Python
- 資料分析---pandas模組