Python數(shù)據(jù)分析之Excel和Text文件的讀寫操作方法
1.Excel和 Text 文件的讀寫操作
1. Text 文件讀寫包
import sys print(sys.argv[0]) print(__file__) print(sys.path[0]) q=open(sys.path[0] + "\out.txt","w",encoding='utf-8') q.write('這個是測試一下') q.close() print('done')
open 語句可以打開的創(chuàng)建text
文件,存在文件即打開,不存在即創(chuàng)建
注:如文件已存在,使用 open
語句會覆蓋原文件生成新文件
1.1 open函數(shù)
函數(shù)語法:open(name[, mode[, buffering]])
- name : 一個包含了你要訪問的文件名稱的字符串值。
- mode : mode 決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數(shù)是非強制的,默認文件訪問模式為只讀®。
- buffering : 如果 buffering 的值被設為 0,就不會有寄存。如果 buffering 的值取 1,訪問文件時會寄存行。如果將 buffering 的值設為大于 1 的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負值,寄存區(qū)的緩沖大小則為系統(tǒng)默認。
例:執(zhí)行循環(huán)生成文本文件
import os import sys print(sys.argv[0]) print(__file__) print(sys.path[0]) fq=open(sys.path[0] + "\out1.txt","w",encoding='utf-8') for i in range(1,1000): fq.write('哈哈'+ str(i)+'\n') fq.close print('done')
2. excel 讀寫
兩個主要的包:openpyxl
和 xlsxwriter
# coding=utf-8 import openpyxl from openpyxl.reader.excel import load_workbook import sys import os dir=sys.path[0] + '\練習題' fq=open('out.txt','w',encoding='utf-8') # 打開文件,寫權限 for wjm in os.listdir(dir): os.chdir(dir) wk=load_workbook(filename=wjm) gzb= wk.sheetnames for x in range(len(gzb)): sheet1=wk[gzb[x]] print(wjm+' '+sheet1.title) for i in range(1,sheet1.max_row+1): chuan='' for j in range(1,sheet1.max_column+1): chuan='%s%s%s' % (chuan, ',', sheet1.cell(row=i,column=j).value) chuan=chuan[1:]#獲得從第二個字符串開始到末尾的字符串 fq.write(chuan+'\r\n') fq.close print('it is over')
2.1 openpyxl包
OpenPyXL是一個強大的Python庫,用于處理Excel文件,允許讀取、編輯和創(chuàng)建Excel工作簿和工作表。無論是需要自動化處理大量數(shù)據(jù),還是創(chuàng)建漂亮的報告,OpenPyXL都是一個強大的工具。本文將詳細介紹OpenPyXL的各種功能,包括讀取、寫入、樣式設置等,以及大量示例代碼來幫助你深入理解。
要開始使用OpenPyXL,首先需要安裝它。
使用pip進行安裝:
pip install openpyxl
安裝完成后,就可以導入OpenPyXL并開始處理Excel文件了。
1.打開現(xiàn)有工作表
import openpyxl # 打開工作簿 workbook = openpyxl.load_workbook('example.xlsx') # 獲取工作表 sheet = workbook['Sheet1'] # 讀取單元格數(shù)據(jù) cell_value = sheet['A1'].value print(cell_value)
2.創(chuàng)建新的工作表
import openpyxl # 創(chuàng)建新工作簿 workbook = openpyxl.Workbook() # 獲取默認工作表 sheet = workbook.active # 寫入數(shù)據(jù)到單元格 sheet['A1'] = 'Hello' sheet['B1'] = 'World' # 保存工作簿 workbook.save('new_example.xlsx')
3.讀取數(shù)據(jù)
import openpyxl workbook = openpyxl.load_workbook('example.xlsx') sheet = workbook['Sheet1'] # 讀取單元格數(shù)據(jù) cell_value = sheet['A1'].value print(cell_value) # 通過行和列索引讀取數(shù)據(jù) cell_value = sheet.cell(row=2, column=3).value print(cell_value)
4.寫入數(shù)據(jù)
import openpyxl workbook = openpyxl.Workbook() sheet = workbook.active # 寫入數(shù)據(jù)到單元格 sheet['A1'] = 'Hello' sheet.cell(row=2, column=2, value='World') # 保存工作簿 workbook.save('new_example.xlsx')
2.2 xlsxwriter包
XlsxWriter 是一個 Python 模塊,用于創(chuàng)建使用開放 XML 標準的 Excel 2007 (XLSX) 格式的電子表格文件。
XlsxWriter 的一些重要特性包括 −
- XlsxWriter 創(chuàng)建的文件與 Excel XLSX 文件 100% 兼容。
- XlsxWriter 提供完整的格式設置功能,例如合并單元格、定義的名稱、條件格式設置等。
- XlsxWriter 允許以編程方式在 XLSX 文件中插入圖表。
- 可以使用 XlsxWriter 設置自動過濾器。
- XlsxWriter 支持數(shù)據(jù)驗證和下拉列表。
- 使用 XlsxWriter,可以插入 PNG/JPEG/GIF/BMP/WMF/EMF 圖像。
- 借助 XlsxWriter,Excel 電子表格可以與 Pandas 庫集成。
- XlsxWriter 還支持添加宏。
- XlsxWriter 具有用于寫入大文件的內存優(yōu)化模式。
安裝:
pip3 install xlsxwriter
1.多種寫入方式
import xlsxwriter wk = xlsxwriter.Workbook('demo.xlsx') sheet = wk.add_worksheet('sheet123') sheet.write_string(1,1,"python test")#寫入字符串類型數(shù)據(jù) sheet.write_number(1,2,12)#寫入數(shù)字型數(shù)據(jù) sheet.write_blank(1,3," ")#寫入空類型數(shù)據(jù) sheet.write_formula(1,4,"=c2*10")#寫入公式型數(shù)據(jù) sheet.write_boolean(1,5,True)#寫入邏輯型數(shù)據(jù) sheet.write_url(1,6,"http://www.sina.com.cn")#寫入超鏈接型數(shù)據(jù) property = { 'font_size': 20,#字體大小 'bold':True, #是否加粗 'align': 'left',#水平對齊方式 'valign': 'vcenter',#垂直對齊方式 'font_name': u'微軟雅黑', 'text_wrap': False, # 是否自動換行 } cell_format = wk.add_format(property) sheet.write(2,2,"people",cell_format) wk.close() print('done')
2.插入圖片
import xlsxwriter wk = xlsxwriter.Workbook('demo.xlsx') sheet = wk.add_worksheet('sheet123') # 圖片格式 img_format={ 'x_offset': 8,#水平偏移 'y_offset': 14,#垂直偏移 'x_scale': 0.018,#水平縮放 'y_scale': 0.018,#垂直縮放 'url': None, 'tip': None, 'image_data': None, 'positioning': None } # 示例: sheet.insert_image(1,1,'1.jpg',img_format) wk.close() print('done')
總結
到此這篇關于Python數(shù)據(jù)分析之Excel和Text文件的讀寫操作方法的文章就介紹到這了,更多相關Python讀寫Excel和Text文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python HTMLTestRunner測試報告view按鈕失效解決方案
這篇文章主要介紹了Python HTMLTestRunner測試報告view按鈕失效解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05python計算書頁碼的統(tǒng)計數(shù)字問題實例
這篇文章主要介紹了python計算書頁碼的統(tǒng)計數(shù)字問題實例,對比2個實例講述了數(shù)字統(tǒng)計的技巧,非常實用,需要的朋友可以參考下2014-09-09jupyter 使用Pillow包顯示圖像時inline顯示方式
這篇文章主要介紹了jupyter 使用Pillow包顯示圖像時inline顯示方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python基于pywinauto實現(xiàn)的自動化采集任務
這篇文章主要介紹了Python基于pywinauto實現(xiàn)的自動化采集任務,模擬了輸入單詞, 復制例句, 獲取例句, 清空剪切板, 然后重復這個操作,需要的朋友可以參考下2023-04-04解決Python報錯:ValueError:operands?could?not?be?broadcast?t
這篇文章主要給大家介紹了關于解決Python報錯:ValueError:operands?could?not?be?broadcast?together?with?shapes的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02