python读写excel数据--pandas详解

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网
目录
  • 一、读写excel数据
    • 1.1 读:
    • 1.2写:
  • 二、举例
    • 2.1 要求
    • 2.2 实现
  • 总结

    一、读写excel数据

    利用pandas可以很方便的读写excel数据

    1.1 读:

    data_in = pd.read_excel('M2FENZISHI.xlsx')
    

    1.2写:

    首先要创建数据框

    # example
    df = pd.DataFrame({'A':[0,1,2]})
    writer = pd.ExcelWriter('test.xlsx') #name of excel file
    df.to_excel(writer, sheet_name='Sheet1') # write
    writer.save()   # save
    

    二、举例

    2.1 要求

    这个例子稍微有点复杂,只看读和写的部分就可以了。

    例子要实现的目标为:有一个excel文件,如下:

    在这里插入图片描述

    现在要将里面的化学符号中数字和字母分开,得到如下结果

    在这里插入图片描述

    2.2 实现

    由于化学符号里面有数字和字母,要提取数字或者字母首先想到的是正则表达式re模块。

    在读取时由于我们已经将第一列命名data,因此pandas可以直接只读这一列的提名。

    读取数字可以使用re.compile实现,如:

    在这里插入图片描述

    下面是完整实现的代码

    import numpy as np 
    import re 
    import pandas as pd
    data_in = pd.read_excel('M2FENZISHI.xlsx')['data'] #load data
    print(data_in.shape)
    length = len(data_in)    # length
    pattern = re.compile(r'\d+') # find number
    num_out = []
    for i in range(length):
        temp = pattern.findall(data_in[i]) # find number
        int_num = list(map(int,temp))
        num_out.append(int_num)
    num_out = np.array(num_out)
    print(num_out.shape)
    # writer data to excel
    df = pd.DataFrame({'C': num_out[:, 0], 'H': num_out[:, 1], 'O': num_out[:, 2],
                       'N': num_out[:, 3], 'P': num_out[:, 4], 'S': num_out[:, 5]})
    writer = pd.ExcelWriter('test.xlsx') # name of the file
    df.to_excel(writer, sheet_name='Sheet1')
    writer.save()
    

    结果如下:

    在这里插入图片描述

    总结

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注hwidc的更多内容!

    【本文来源:迪拜服务器 转载请说明出处】