python读写excel数据--pandas详解

目录

  • 一、读写excel数据
    • 1.1 读:
    • 1.2写:
  • 二、举例
    • 2.1 要求
    • 2.2 实现
  • 总结

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

    1.1 读:
    data_in = pd.read_excel('M2FENZISHI.xlsx')


    1.2写:
    首先要创建数据框
    # exampledf = pd.DataFrame({'A':[0,1,2]})writer = pd.ExcelWriter('test.xlsx') #name of excel filedf.to_excel(writer, sheet_name='Sheet1') # writewriter.save()# save


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

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

    python读写excel数据--pandas详解
    文章图片


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

    【python读写excel数据--pandas详解】python读写excel数据--pandas详解
    文章图片


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

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

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

    python读写excel数据--pandas详解
    文章图片

    下面是完整实现的代码
    import numpy as np import re import pandas as pddata_in = pd.read_excel('M2FENZISHI.xlsx')['data'] #load dataprint(data_in.shape)length = len(data_in)# lengthpattern = re.compile(r'\d+') # find numbernum_out = []for i in range(length):temp = pattern.findall(data_in[i]) # find numberint_num = list(map(int,temp))num_out.append(int_num)num_out = np.array(num_out)print(num_out.shape)# writer data to exceldf = 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 filedf.to_excel(writer, sheet_name='Sheet1')writer.save()

    结果如下:

    python读写excel数据--pandas详解
    文章图片


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

      推荐阅读