使用Pandas进行Excel读写
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.1、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)
2.2、DF遍历
import pandas as pd
df = pd.read_csv('site.csv')
#df=pd.read_csv("on.csv",index_col=['ID']) 指定列作为索引
#按行遍历 iterrows
for i,line in df.iterrows():
#行索引
print(i)
#每行
print('每行')
print(line)
#索引
print('索引')
print(line['name'])
print(line[1])
#按行遍历 itertuples
for line in df.itertuples():
print(line)
print(getattr(line, 'name'))
print(line[2])
#按列遍历
for i, line in df.iteritems():
print(type(i))
print(i)
print(type(line))
print(line)
print(type(line[0]))
print(line[0])
#读取指定数据
#iloc索引 loc行列命
print(df.iloc[1, 2])
print(df.loc[1, 'age'])
df.loc[1, 'age'] = 10
print(df.loc[1, 'age'])
print(df)
#遍历所有
for i in range(df.shape[0]):
for j in range(df.shape[1]):
print(df.iloc[i, j])
3.1、读CSV
import pandas as pd
df = pd.read_csv('nba.csv')
#df=pd.read_csv("on.csv",index_col=['ID']) 指定列作为索引
#第一列无名重新命名,列名转列表,第一个位置加名字
#df.columns = ['name1'] + df.columns[1:].tolist()
print(df) #DataFrame类型数据
print(df.to_string()) #字符串类型数据
#判断是否NAN为空
pd.isna(x)
pd.isnull(x)
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('输出成功')

Pandas库,excel数据处理
浙公网安备 33010602011771号