<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Excel
檔案是我們常用的一種檔案,在工作中使用非常頻繁。Excel
中有許多強大工具,因此用Excel
來處理檔案會給我們帶來很多便捷。但是有時候我們拿到了檔案不是Excel
檔案,而且我們又想用Excel
中的工具,這個時候我們就可以想辦法把這個檔案轉換成Excel
檔案了。今天我們就來實現一下,需要注意我們只能把有規律的檔案轉換成Excel,而且今天的內容也不是普遍通用的。只提供一種思路。
openpyxl
模組是用來操作Excel
檔案的一個模組,還有很多模組可以做同樣的事情,這裡就不介紹了。
安裝只需要執行下面語句即可:
pip install openpyxl
然後在程式碼中匯入工作簿:
from openpyxl import Workbook
這樣我們就可以開始操作了。
我們來看一些簡單的操作:
from openpyxl import Workbook # 建立工作簿 wb = Workbook() # 啟用 ws = wb.active # 設定指定格的資料 ws['A1'] = 41 # 在下一行新增資料 ws.append([1, 2, 3]) # 儲存 wb.save("1.xlsx")
這裡前面兩步是基本操作,首先建立Workbook物件,然後呼叫active函數啟用。然後我們通過下標的方式給指定座標的位置新增資料。最後呼叫save方法儲存檔案。
上面的幾個操作就足夠我們今天的操作了,下面我們來看看如何將文字檔案轉換成Excel
檔案。
在文章開頭說了,我們只能將有規律的文字檔案轉換成Excel
,不然沒有太多意義。所以我們第一步就是找規律。比如我們下面這個檔案:
姓名,性別,年齡 zack,男,21 rudy,男,22 alice,女,20 atom,男, 23
我們來看一下上面的資料,其中第一行是資料的欄位。而後面幾行就是真實資料了。而單個資料的屬性值又由逗號隔開。這種規律非常明顯,很適合我們今天的內容。不管仔細觀察可以看到,逗號有中文的也有英文的,而且有的裡面還包含了空格。知道這些後我們在轉換的時候就需要針對性的處理一下了。
首先我們要處理文字,然後再寫入Excel
,具體程式碼如下:
from openpyxl import Workbook wb = Workbook() ws = wb.active # 處理檔案 with open("test.txt", "r", encoding="utf-8") as f: # 把逗號替換成統一的t content = f.read().replace(",", "t").replace(",", "t") # 根據換行拆分內容 lines = content.split("n") # 提取標題 titles = lines[0].split("t") titles.insert(0, "") # 標題寫入excel ws.append(titles) # 寫入內容 for i, line in enumerate(lines[1:]): item = line.split("t") item.insert(0, i) ws.append(item) wb.save("1.xlsx")
經過上面的處理,我們就成功將文字轉換成excel了,下面是結果圖:
excel表格
效果正是我們想要的,大家可以根據不同需求不同檔案來修改處理的程式碼。
Python對於Excel檔案的操作當然不僅僅是可以將文字檔案轉為Excel,還可以將PDF轉為Excel,下面是實現程式碼,希望對你有所幫助
import pdfplumber import pandas as pd path = 'test.pdf' pdf = pdfplumber.open(path) i=1 #writer=pd.ExcelWriter('output.xlsx') df=pd.DataFrame(columns=['序號','刊名','主辦單位','等級']) sheetname=['考古文博','歷史學','馬克思主義理論','民族學與文化學','文學-外國文學','文學-中國文學','藝術學','語言學','哲學','宗教學','法學' ,'管理學','環境科學','教育學','經濟學-財政科學','經濟學-工業經濟','經濟學-金融','經濟學-經濟管理','經濟學-經濟綜合','經濟學-貿易經濟' ,'經濟學-農業經濟','經濟學-世界經濟','人文地理學','社會學','體育學','統計學','圖書館情報與檔案學','心理學','新聞學與傳播學' ,'政治學-國際政治','政治學-中國政治','綜合-高校綜合性學報','綜合-綜合性人文社科期刊'] ##由於存在一個表格跨頁的情況,先將所有表格存放在一個DataFrame中,再根據序號拆分。 for page in pdf.pages[17:59]: print (page) # 獲取當前頁面的全部文字資訊,包括表格中的文字 # print(page.extract_text()) for table in page.extract_tables(): #print(table) df=df.append(pd.DataFrame(table[1:],columns=table[0]),ignore_index=True) print (df) writer=pd.ExcelWriter('output3.xlsx') new_df=pd.DataFrame() j=1 index=[] #記錄序號==1的行索引,用於後面的表格拆分 for i in range(len(df)): if df.ix[i,0]=='1': index.append(i) print ("################") index.append(len(df)) #print (index) #按行索引將內容切片並逐個新增到表中 for t in range(len(index)-1): new_df=df.ix[index[t]:index[t+1]-1,:] #print (new_df) new_df.to_excel(writer,sheet_name=sheetname[t],encoding='gb2312',index=None) writer.save() pdf.close() print('finished')
到此這篇關於基於Python實現文字檔案轉Excel的文章就介紹到這了,更多相關Python文字檔案轉Excel內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45