新闻动态

python读写excel数据--pandas详解

发布日期:2022-01-10 10:16 | 文章来源:脚本之家

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

结果如下:

总结

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

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部