使用Pandas進行Excel讀寫
阿新 • • 發佈:2022-05-24
Excel讀寫(Pandas)
1、Series
一維資料,一列帶索引
pandas.Series(data, index, dtype, name, copy)
一組資料、索引、資料型別、設定名稱、拷貝資料(預設為False)
import pandas as pd a = ["Go", "Python", "C#"] myvar = pd.Series(a) #指定索引 myvar2 = pd.Series(a, index = ["x", "y", "z"]) print(myvar["y"]);print(myvar[1]);print(myvar[:3]) #字典形式生成 b = {1: "Go", 2: "Python", 3: "C#"} myvar3 = pd.Series(b) #切片,設定名稱 myvar = pd.Series(b, index = [1, 2], name="RUNOOB-Series-TEST" )
2、DataFrame
二維表格
import pandas as pd #巢狀列表建立 data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data,columns=['Name','Age']) #字典套列表模式建立 data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} df = pd.DataFrame(data, index = ["stu1", "stu2", "stu3"]) #列索引 print(df["Name"]) #新增列 #法1:使用df['列']=值,插入新的資料列 df['score']=pd.Series([10,20,30],index=["stu1", "stu2", "stu3"]) #法2 insert df.insert(1,column='score',value=[91,90,75]) #刪除列 del df['one'] df.pop('two') #行索引 print(df.loc["stu2"]) print(df[2:4]) #iloc 允許接受兩個引數分別是行和列,引數之間使用“逗號”隔開 print(df.iloc[2]) #在行末追加新資料行 df2 = pd.DataFrame([[5, 6], [7, 8]], columns = ['a','b']) df = df.append(df2) #刪除行 df = df.drop(0)
3.1、讀CSV
import pandas as pd
df = pd.read_csv('nba.csv')
#df=pd.read_csv("on.csv",index_col=['ID']) 指定列作為索引
print(df)
print(df.to_string()) #DataFrame型別資料
3.2、寫CSV
import pandas as pd # 三個欄位 name, site, age nme = ["Google", "Runoob", "Taobao", "Wiki"] st = ["www.google.com", "www.runoob.com", "www.taobao.com", "www.wikipedia.org"] ag = [90, 40, 80, 98] # 字典 dict = {'name': nme, 'site': st, 'age': ag} df = pd.DataFrame(dict) # 儲存 dataframe df.to_csv('site.csv')
4.1、讀Excel
import pandas as pd
#讀取excel資料
df = pd.read_excel('website.xlsx',index_col='name',skiprows=[2])
#處理未命名列
df.columns = df.columns.str.replace('Unnamed.*', 'col_label')
print(df)
4.2、寫入Excel
import pandas as pd
#建立DataFrame資料
info_website = pd.DataFrame()
#建立ExcelWrite物件
writer = pd.ExcelWriter('website.xlsx')
info_website.to_excel(writer)
writer.save()
print('輸出成功')