• python处理execl


    一、处理文件和文件夹的模块---os模块

      os模块是python和操作系统进行交互的一个接口,它提供了许多操作文件及文件夹的函数。

    1.1  getcwd()函数:当前运行的python代码文件路径

        import os

           path=os.getcwd()

           print(path)

    结果:C:UsersdjwPycharmProjectsuntitled1

    1.2   listdir()函数:查看某个文件夹下的文件和子文件夹

         import os

          path='d:\linux'

          file_list=os.listdir(path)

          print(file_list)

    结果:['dafd.txt', 'linuxvr_1', 'linuxvr_2', 'linuxvr_3', 'linuxvr_4', 'workstation', 'workstations']---列表

    1.3 splitext()函数:分离文件主名和扩展名  

           import os
      paths="djw.txt"
      split=os.path.splitext(paths)
      print(split)

    结果:('djw', '.txt') --元组

    1.4 rename()函数:重命名文件和文件夹

      import os
      oldname='d:\linuxdjw.txt'  
      newname='d:\djwdjw123.txt'
      os.rename(oldname,newname)  ---将文件移动到djw文件夹下,并重新命名djw123.txt

    结果:移动成功

    二、批量处理Excel文件的模块---xlwings模块

            

    2.1创建工作薄   

            import xlwings as xw
            app=xw.App(visible=True,add_book=False)
           workbook=app.books.add()

    2.2保存工作薄 

      import xlwings as xw
      app=xw.App(visible=True,add_book=False)
      workbook=app.books.add()
      workbook.save('C:\UsersdjwDesktop文件1.xlsx')
      workbook.close()
      app.quit()

    2.3打开工作薄  

      import xlwings as xw
      app=xw.App(visible=True,add_book=False)
      workbook=app.books.open('C:\UsersdjwDesktop文件1.xlsx')

    2.4操控工作表和单元格 

         import xlwings as xw
           app=xw.App(visible=True,add_book=False)

           workbook=app.books.open('C:\UsersdjwDesktop文件1.xlsx')
           worksheet=workbook.sheets['Sheet1']
           worksheet.range('c4').value="党京伟"
          worksheet=workbook.sheets.add('二月')

    三、数字计算的数学模型--NumPy模块

      主要用来计算数组.

    3.1创建数组array函数

      import numpy as np

      a =np.array([1,2,3,4])

      b=np.array([1,2],[3,4],[4,5])

      print(a[0:3])  遵循“左闭右开”原则

    3.2创建数组arange函数

      import numpy as np

      x=np.arange(5)

      y=np.arange(2,5)

      z=np.arange(5,10,2)

    3.3随机创建数组,符合正态分布random.randn

      import numpy as np

      c=np.random.randn(3)

      print(c)

    3.4创建二维数组的另外一种方式arange和reshape函数

      import numpy as np

      d=np.arange(12).reshape(3,4)

    3.5随机创建整数random.randint

      import numpy as np

      e=np.random.randint(0,10,(4,4))

    四、数据导入和整理模块---pandas模块

      pandas模块提供了非常直观的数据结构及强大的数据管理和数据处理功能,擅长二维数据,主要是DataFrame数据结构。

    4.1二维数据表格DataFrame的创建

     4.1.1列表DataFrame

         import pandas as pd

      a=pd.DataFrame([[1,2],[3,4],[5,6]],columns=['date','score'],index=['A','B','C'])

       4.1.2字典DataFrame

      import pandas as pd

      b=pd.DataFrame({'a':[1,2,5],'b':[2,4,6]},index=['A','B','C'])

       4.1.3通过二维数组创建DataFrame

      import numpy as np

      import pandas as pd

      a=np.arange(12).reshape(3,4)

      b=pd.DataFrame(a,index=[1,2,4],columns=['A','B','C','D'])

    4.2文件的读写

      读xlsx:pd.read_excel('data.xlsx',sheetname=0,encoding='utf-8')  #sheetname指定工作表,可以是名称,默认是数字0

      读csv :  pd.read_csv('data.csv',delimiter=',',encoding='utf-8') #delimiter是分隔符

      写入:

      import pandas as pd

      data=pd.DataFrame([[1,2],[3,4],[5,6]], columns=['A列',‘B列’]) #创建一个DataFrame

      data.to_execl('data.xlsx')

      data.to_csv('data.csv')

    4.3按列、行选择数据

      c=data[['c1','c2']]  //c1,c2表示两列

      c=data.iloc[1:3] //表示行号用iloc

      c=data.loc[['r2','r3']] //表示列名称选择

      c=data.head(5)//选择前5行

    4.4按区块选取数据

      c=data.iloc[0:2][['c1','c3']] 

      c=data.iloc[['r1','r2'],['c1','c2']]

      c=data.loc[['r1','r2'],['c1','c3']]

    4.5数据的排序

      a=data.sort_values(by='c2',assending=False)  //按列排序

      a=a.sort_index() //按行索引排序

    4.6数据的删除

      data.drop(index=['r1','r3'],inplace=True)

    4.7数据表的拼接

      merge()函数:可以根据一个或多个同名的列将不同数据表中的行连接起来。

      df3=pd.merge(df1,df2,on='公司') //相同的列名

      df3=pd.merge(df1,df2,how='outer') //取并集

      df3=pd.merge(df1,df2,how="left")  //取左边完整

      df3=pd.merge(df1,df2,left_index=True,right_index=True)

      concat()函数:concat()函数使用全连接(UNION all)方式完成拼接。

      df3=pd.concat([df1,df2],ignore_index=True)  //行拼接

      df3=pd.concat([df1,df2],axis=1) //列拼接

           append()函数:可以看做是concat()函数的简化版

      df3=df1.append({'公司':‘腾飞’,‘分数’: '90'},ignore_index=True)

    五、数据可视化模块--Matplotlib

      Matplotlib是一个非常出色的数据可视化模块,其导入代码通常写成import matplotlib.pyplot as plt,之后以plt为前缀调用函数即可绘制图表。

    5.1 绘制折线图

      

     5.2 绘制柱形图

      

     六、模块之间的交互

      xlwings模块可以与pandas模块进行交互,用pandas模块创建数据表格,再用xlwings模块将表格写入工作薄。

    import xlwings as xw
    import pandas as pd
    app=xw.App(visible=False)
    workbook=app.books.add()
    worksheet=workbook.sheets.add('新的工作目录')
    df=pd.DataFrame([[1,2],[3,4]],columns=['a','b'])
    worksheet.range('A1').value=df
    workbook.save(r'e:djw.xlsx')
    workbook.close()
    app.quit()
    xlwings模块可以与matplotlib模块进行交互,用matplotlib模块绘制图表,在用xlwings模块将图表写入工作薄中
    import  xlwings as xw
    import matplotlib.pyplot as plt
    figure=plt.figure()
    x=[1,2,3,4,5]
    y=[6,7,8,9,10]
    plt.plot(x,y)
    app=xw.App(visible=True)
    workbook=app.books.add()
    worksheet=workbook.sheets.add('djw')
    worksheet.pictures.add(figure,name="a",update=True,left=100)
    workbook.save(r'e:djw1.xlsx')
    workbook.close()
    app.quit()
  • 相关阅读:
    sql优化
    多字段in
    最大值对应的行数据
    spring boot admin
    git + idea 操作
    css 多行溢出显示省略号失效
    Android输入系统(7)——Linux input子系统代码分析与调试 Hello
    Java中的正则表达式 Hello
    mybatis 中文路径报错处理
    React 18 之 useTransition
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/14419476.html
Copyright © 2020-2023  润新知