Pandas主要先讀取表格類型的數據,然后進行分析。
import pandas as pd
# 由於是用pandas模塊操作數據,因此不用在路徑前加open,否則就是python直接打開文件,可能還會打不開出錯
# file_path_excel = open('E:\\學習\\Python\\Pandas模塊的導入及學習-數據分析\\bank.xls')是錯的
# 文件所在的位置,文件路徑用雙杠\\,或是反方向單杠/, 或在文件路徑前加一個r即可直接使用原路徑的單杠\即:r'\'
# 'E:\\學習\\bank.csv' 或 'E:/學習/bank.csv' 或 r'E:\學習\bank.csv' 都是正確的
1.讀取純文本文件 --使用pandas.read_csv
1.1 讀取csv,使用默認的標題行、逗號分隔符--有時csv文本中的數據編碼不兼容,打開時出錯,read_csv(..,encoding=’換一種更通用更高級的編碼如gbk,gb18030等即可’)

1 file_path_csv = 'E:\\學習\\Python\\Pandas模塊的導入及學習-數據分析\\bank.csv' # 文件路徑為\\或/或r'\'都可 2 bank_csv = pd.read_csv(file_path_csv) # 使用pandas.read_csv讀取文件 3 print(bank_csv.head()) # 查看前幾行數據,默認顯示前5行數據 4 print(bank_csv.shape) # 查看數據的形狀,返回(行數,列數) 5 print(bank_csv.dtypes) # 查看每列的數據類型
1.2 讀取txt文件,自己制定分隔符

1 file_path_txt = 'E:\\學習\\Python\\Pandas模塊的導入及學習-數據分析\\bank.txt' 2 bank_txt = pd.read_csv(file_path_txt, sep=' ', header=None, names=['name', 'password', 'balance']) 3 # sep=' '空格為自己設定的分隔符,,默認是','號;header=None 如果不將數據集的第一行作為表頭,需要設置header=None, 4 # header指定行數用來作為列名,數據開始行數,如果需要第一行做表頭 header=0 即可;names后面是自己加入指定的標題 5 # bank_txt = pd.read_csv(file_path_txt, sep=' ', header=0) 6 print(bank_txt)
2.讀取excel文件--使用pandas.read_excel

1 bank_excel = pd.read_excel('E:/學習/Python/Pandas模塊的導入及學習-數據分析/bank.xls', sheet_name='user') 2 print(bank_excel)
2.1 讀取同一文件下的多個sheet數據--使用pandas.ExcelFile('文件名')

1 excel_reader = pd.ExcelFile(r'C:\Users\Administrator\Desktop\test.xls') # 指定文件 2 """ 3 sheet_names = excel_reader.sheet_names # 讀取文件的所有表單名,得到列表 4 # 讀取表單的內容,i是表單名的索引,等價於pd.read_excel('文件', sheet_name=sheet_names[i]) 5 df_data = excel_reader.parse(sheet_name=sheet_names[i]) 6 """ 7 df1 = excel_reader.parse(sheet_name='1') # 讀取表單內容 8 df2 = excel_reader.parse(sheet_name='2')
2.2 對excel的一些簡單操作

1 print(bank_excel.shape) # 讀取行列 2 n_rows = bank_excel.shape[0] 3 print(n_rows) # 讀取最大行 4 n_columns = bank_excel.columns.size 5 print(n_columns) # 讀取最大列 6 print(bank_excel.iloc[0, 1]) # 讀取指定行列內容 列和行的序號都從0開始,且iloc索引不含標題行 7 # iloc與loc的區別在於,iloc[行號,列號]而不是loc[行名,列名] 8 9 for i in range(n_rows): 10 for j in range(n_columns): 11 print(bank_excel.iloc[i, j]) # 遍歷表格 12 13 print(bank_excel.iloc[0].values) # iloc索引 返回列表除標題外的第一行數據 14 print(bank_excel.index.values) # 獲取行號並打印輸出 15 print(bank_excel.columns.values) # 獲取列名並打印輸出 16 17 r = bank_excel.loc[bank_excel['name'] == 'tom'] # 輸出篩選的數據內容 18 e = bank_excel.loc[bank_excel['balance'] >= 1000] 19 s = bank_excel.loc[bank_excel['name'].str.contains('o')] # 輸出含有字符o的數據 20 # 組合條件用&符號合並,每個條件判斷都得帶括號 21 m = bank_excel.loc[(bank_excel['balance'] >= 1000) & (bank_excel['name'] == 'tom')] 22 u = bank_excel.loc[:, ['name', 'balance']] # 輸出指定列的所有內容 23 l = bank_excel.loc[0:2, ['name', 'balance']] # 輸出指定列的0-2行數據內容 24 t = bank_excel.loc[0:2, ] # 輸出指定行0-2行數據 25 print(r) 26 print(s)
3.讀取MySQL數據庫

1 import pymysql 2 connect_mysql = pymysql.connect(host='S12345678', user='sa', password='*******',database='test1', charset='utf8') 3 # pymysql.connect(host=“你的數據庫地址--一般是計算機名”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) 4 mysql_page = pd.read_sql('select * from [test1].[dbo].[course]', con=connect_mysql) 5 print(mysql_page)