目录

    一、读写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()
    

    结果如下:

    总结

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