Pandas替换Excel的最佳方案

再⻅Excel,你好Pandas!

数据的写⼊:

写⼊数据时,要注意不同的⽂件格式选⽤不同的⽅法,如写⼊csv⽂件使⽤to_csv,写⼊ excel时使⽤to_excel,并且要注意添加编码⽅式,下⾯创建⼀个表:

from pandas import Series,DataFrame

# 使用字典创建

index_list[\’001\’,\’002\’,\’003\’,\’004\’,\’005\’,\’006\’,\’007\’,\’008\’,\’009\’,\’010\’]

name_list = [\’李白\’,\’王昭君\’,\’诸葛亮\’,\’狄仁杰\’,\’孙尚香\’,\’妲己\’,\’周瑜\’,\’张飞\’,\’王昭君\’,\’大

乔\’]

age_list=[25,28,27,25,30,29,25,32,28,26]

salary_list=[\’10k\’,\’12.5k\’,\’20k\’,\’14k\’,\’12k\’,\’17k\’,\’18k\’,\’21k\’,\’22k\’,\’21.5k\’]

marital_list = [\’NO\’,\’NO\’,\’YES\’,\’YES\’,\’NO\’,\’NO\’,\’NO\’,\’YES\’,\’NO\’,\’YES\’]

dic={

\’姓名\’: Series(data=name_list,index=index_list),

\’年龄\’: Series(data=age_list,index=index_list),

\’薪资\’: Series(data=salary_list,index=index_list),

\’婚姻状况\’: Series(data=marital_list,index=index_list)

}

df=DataFrame(dic)

# 写入csv,path_or_buf为写入文本文件

df.to_csv(path_or_buf=\’./People_Information.csv\’,

encoding=\’utf_8_sig\’,index=False)

print(\’end\’)

这⾥调⽤to_csv⽅法 写⼊数据,可以指定路径,参数encoding是指定编码⽅式,这样遇到中⽂不易出现乱码,参数index=False是为了去除掉⾏索引,不然⾏索引1,2,3,4等也会放到表⾥

 数据的读取:

读取数据时,不同的⽂件格式使⽤的⽅法也不⼀样, 读取csv使⽤read_csv,excel使⽤ read_excel,并且可以指定⽂件进⾏读,另外⼀个Excel⽂件可以创建多个表,然后在不同的表中存储不同数据,这种形式的⽂件很常⻅。但是要注意csv⽂件不存在多个sheet的问题。

如: import pandas as pd

#sheet_name指定读取⼯作铺中的那个sheet(sheet名称)

sheet1 = pd.read_excel(\’./data/sheet.xlsx\’,sheet_name=\’sheet1\’)

print(sheet1.head())

sheet2 = pd.read_excel(\’./data/sheet.xlsx\’,sheet_name=\’sheet2\’)

print(sheet2.head())

当csv或者excel中数据的第⼀⾏是⼀条脏数据,可以利⽤read_excel()中的header参数进

⾏选择哪⼀⾏作为我们的列索引。如:

import pandas as pd

#这里将header设置为1(第一行是0),代表数据将从第2行开始读取,第一行的数据会被

忽略

people = pd.read_csv(\’./data/People1.csv\’,header = 1)

print(people.head())

read_excel()的header参数默认是0,取第⼀⾏的值,可以根据具体的要求设置header的值来确定列索引。

如果都不满⾜的你的要求,可以将header设置为None,列索引值会使⽤默认的1、2、 3、4,之后在⾃⾏设置。

当指定了header的值,读出来的数据就是从该⾏开始向下切⽚,该⾏以上的数据会被忽略。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/soft/19639.html

发表评论

登录后才能评论