python讀寫excel數(shù)據(jù)--pandas詳解
一、讀寫excel數(shù)據(jù)
利用pandas可以很方便的讀寫excel數(shù)據(jù)
1.1 讀:
data_in = pd.read_excel('M2FENZISHI.xlsx')
1.2寫:
首先要?jiǎng)?chuàng)建數(shù)據(jù)框
# 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 要求
這個(gè)例子稍微有點(diǎn)復(fù)雜,只看讀和寫的部分就可以了。
例子要實(shí)現(xiàn)的目標(biāo)為:有一個(gè)excel文件,如下:

現(xiàn)在要將里面的化學(xué)符號(hào)中數(shù)字和字母分開,得到如下結(jié)果

2.2 實(shí)現(xiàn)
由于化學(xué)符號(hào)里面有數(shù)字和字母,要提取數(shù)字或者字母首先想到的是正則表達(dá)式re模塊。
在讀取時(shí)由于我們已經(jīng)將第一列命名data,因此pandas可以直接只讀這一列的提名。
讀取數(shù)字可以使用re.compile實(shí)現(xiàn),如:

下面是完整實(shí)現(xiàn)的代碼
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()
結(jié)果如下:

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Pycharm中安裝pywin32報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了Pycharm中安裝pywin32報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Python調(diào)用adb命令實(shí)現(xiàn)對(duì)多臺(tái)設(shè)備同時(shí)進(jìn)行reboot的方法
今天小編就為大家分享一篇Python調(diào)用adb命令實(shí)現(xiàn)對(duì)多臺(tái)設(shè)備同時(shí)進(jìn)行reboot的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Python使用py2neo操作圖數(shù)據(jù)庫(kù)neo4j的方法詳解
這篇文章主要介紹了Python使用py2neo操作圖數(shù)據(jù)庫(kù)neo4j的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python使用py2neo操作圖數(shù)據(jù)庫(kù)neo4j的具體步驟、原理、相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2020-01-01
python通過(guò)定義一個(gè)類實(shí)例作為ftp回調(diào)方法
這篇文章主要介紹了python通過(guò)定義一個(gè)類實(shí)例作為ftp回調(diào)方法,涉及Python中類與回調(diào)方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
Python利用Flask-Mail實(shí)現(xiàn)發(fā)送郵件詳解
Flask?的擴(kuò)展包?Flask?-?Mail?通過(guò)包裝了?Python?內(nèi)置的smtplib包,可以用在?Flask?程序中發(fā)送郵件。本文將利用這特性實(shí)現(xiàn)郵件發(fā)送功能,感興趣的可以了解一下2022-08-08

