使用pandas操作excel

pandas操作excel

最近由于要处理一些excel表格,发现pandas可以免去很多的繁琐的人工劳动,在这里记录一下我所用到的知识。

导入文档

将excel中的工作表导入

filename = '***.xls'
data = pd.read_excel(filename, None)
#此处None的作用是将excel内的所有工作表读入,生成一个字典,否则默认只读入第一个工作表
for sh_name in data.keys():
    df = data[sh_name]
    print(sh_name)
data = pd.read_excel(filename, None, converters={'账号':str})
#converters可以将长数字转换为字符串类型,避免输出的时候都变成了科学计数法

df = pd.read_excel(filename, sheet_name='Sheet1', converters={'账号':str})
#可以指定打开名为Sheet1的工作表,此时读出的数据为DataFrame类型

对DataFrame进行操作

查看dataframe的行数列数

df.shape()

对DataFrame进行操作

查看dataframe的行数列数

df.shape()

对于dataframe的某一列进行筛选

tmp = df[(df.金额 > 0)]

对列名为金额的列进行筛选,并将得到的dataframe存入tmp中

对于dataframe的某一列求和,查看最值等

df.列名.sum()
df.列名.max()
df.列名.min()

导出文档
导出文档使用到了out_excel(),可以将操作完成的dataframe导入excel文件

df.out_excel('文件名.xls', sheet_name = 'xxx')
#还可以通过startrow, startcol等参数来确定导入位置等,具体可以去查一下这个函数

这样子就成功将df导出到excel中了!

但是!这种输出方法只适用于输出一次df,如果想要再次输出的话,该语句将会把原来的文件删除掉,只写入最后一次的df
此问题用以下方法来解决:

writer = pd.ExcelWriter('out_file.xls')
df1.to_excel(writer, sheet_name = 'xx.xls')
df2.to_excel(writer, sheet_name = 'xxx.xls')
writer.save()#记得要保存,不然看不见写入的数据

这样就可以连续写入excel文件啦

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。