python处理execl

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

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

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

    import os

       path=os.getcwd()

       print(path)

结果:C:\Users\djw\PycharmProjects\untitled1

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:\\linux\djw.txt'  
  newname='d:\\djw\djw123.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:\\Users\djw\Desktop\文件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:\\Users\djw\Desktop\文件1.xlsx')

2.4操控工作表和单元格 

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

       workbook=app.books.open('C:\\Users\djw\Desktop\文件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()

 

posted @ 2021-02-20 10:20  小熊尤里  阅读(134)  评论(0)    收藏  举报