美文网首页
使用pandas操作excel

使用pandas操作excel

作者: 我不吃凤梨 | 来源:发表于2020-08-13 13:56 被阅读0次

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文件啦

相关文章

网友评论

      本文标题:使用pandas操作excel

      本文链接:https://www.haomeiwen.com/subject/zgygdktx.html