一、IDE环境:anaconda+PyCharm,python3.6
二、新建.py文件(注意文件命名)
三、具体读取数据操作如下:
import pandas as pd
people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People.xlsx') # 读取文件数据,返回一个指向数据对象的引用
print(people.shape) # 打印出people对象的属性(有几行几列)
print(people.head(3)) # 传递形参为空时,默认打印表的前五行
print('===============================')
print(people.tail(3)) # 传递形参为空时,默认打印表的前五行
运行结果如下:
import pandas as pd
people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People.xlsx') # 读取文件数据,返回一个指向数据对象的引用
print(people.columns)#读取文件的列名
运行结果如下:
但如果Excel文件中有脏数据,比如第一行是脏数据,从第二行开始,才是我们所需的数据,如下图:
应该如何调用pandas库实现所需数据的访问???(如下图所示的解决方法,设置读取文件的属性即可)
import pandas as pd
people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People2.xlsx',header=1)#header默认为0,此处设置为1
print(people.columns)#读取文件的列名
运行结果如下
注意:1、如果Excel文件第一行为空,那么不指定header=1也能正确答应header的属性值
2、只要第一行数据错误(脏数据),那么就必须指定数据读取的第一行属性值,也就是“header”属性了
3、若没有列名,那么就设置“header=None”,系统就会自动生成一个从0开始的整数列表作为列名,如下图所示:
import pandas as pd
people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People2.xlsx',header=None) # 读取文件数据,返回一个指向数据对象的引用
print(people.columns)#读取文件的列名
我们可以人为的设置表的列名,并保存所需文件,如下所示:
import pandas as pd
people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People2.xlsx',header=None) # 读取文件数据,返回一个指向数据对象的引用
people.columns=['Id','Type','Title','FirstName','MiddleName','LastName']#设置表的列名
people=people.set_index('Id')#设置Id为索引,生成新的对象后,返回一个指向people的对象
print(people.columns)#读取文件的列名
people.to_excel('C:/Users/Dongxiao Yuan/Desktop/Output.xlsx')#保存新的文件
print('Done!!')
#people=people.set_index('Id')代码可用下面的代码来替换
#people.set_index('Id',inplace=True)
运行结果如下(Id已经消失,因为它已经变成index了):
people.set_index('Id',inplace=True)代码第二个参数指在源文件基础上改动并保存
注意:pandas中把index和columns分开对待,所以打印时没有Id这一列
import pandas as pd
people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/Output.xlsx',index_col='Id') # 读取文件数据,返回一个指向数据对象的引用
print(people.columns)#读取文件的列名
people.to_excel('C:/Users/Dongxiao Yuan/Desktop/Output4.xlsx')#保存新的文件
print('Done!!')
1、每次运行程序,必须保证文件的关闭,不然会出现意料之外的结果或者错误
2、本小结主要讲了Excel文件属性的设置,包括:
打开属性:header=1/None,index_col=‘Id’
文件属性设置:people.columns=['Id','Type','Title','FirstName','MiddleName','LastName']#设置表的列名
people=people.set_index('Id')#设置Id为索引,生成新的对象后,返回一个指向people的对象
people.set_index('Id',inplace=True)
文件属性:people.shape,people.head(3),people.tail(3)
print(people.columns)#读取文件的列名