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('這個(gè)是測(cè)試一下')
q.close()
print('done')
open 語(yǔ)句可以打開的創(chuàng)建text 文件,存在文件即打開,不存在即創(chuàng)建
注:如文件已存在,使用 open 語(yǔ)句會(huì)覆蓋原文件生成新文件
1.1 open函數(shù)
函數(shù)語(yǔ)法:open(name[, mode[, buffering]])
- name : 一個(gè)包含了你要訪問(wèn)的文件名稱的字符串值。
- mode : mode 決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問(wèn)模式為只讀®。
- buffering : 如果 buffering 的值被設(shè)為 0,就不會(huì)有寄存。如果 buffering 的值取 1,訪問(wèn)文件時(shí)會(huì)寄存行。如果將 buffering 的值設(shè)為大于 1 的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
例:執(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 讀寫
兩個(gè)主要的包:openpyxl 和 xlsxwriter
# coding=utf-8
import openpyxl
from openpyxl.reader.excel import load_workbook
import sys
import os
dir=sys.path[0] + '\練習(xí)題'
fq=open('out.txt','w',encoding='utf-8') # 打開文件,寫權(quán)限
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:]#獲得從第二個(gè)字符串開始到末尾的字符串
fq.write(chuan+'\r\n')
fq.close
print('it is over')
2.1 openpyxl包
OpenPyXL是一個(gè)強(qiáng)大的Python庫(kù),用于處理Excel文件,允許讀取、編輯和創(chuàng)建Excel工作簿和工作表。無(wú)論是需要自動(dòng)化處理大量數(shù)據(jù),還是創(chuàng)建漂亮的報(bào)告,OpenPyXL都是一個(gè)強(qiáng)大的工具。本文將詳細(xì)介紹OpenPyXL的各種功能,包括讀取、寫入、樣式設(shè)置等,以及大量示例代碼來(lái)幫助你深入理解。
要開始使用OpenPyXL,首先需要安裝它。
使用pip進(jìn)行安裝:
pip install openpyxl
安裝完成后,就可以導(dǎo)入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()
# 獲取默認(rèn)工作表
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)
# 通過(guò)行和列索引讀取數(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 是一個(gè) Python 模塊,用于創(chuàng)建使用開放 XML 標(biāo)準(zhǔn)的 Excel 2007 (XLSX) 格式的電子表格文件。
XlsxWriter 的一些重要特性包括 −
- XlsxWriter 創(chuàng)建的文件與 Excel XLSX 文件 100% 兼容。
- XlsxWriter 提供完整的格式設(shè)置功能,例如合并單元格、定義的名稱、條件格式設(shè)置等。
- XlsxWriter 允許以編程方式在 XLSX 文件中插入圖表。
- 可以使用 XlsxWriter 設(shè)置自動(dòng)過(guò)濾器。
- XlsxWriter 支持?jǐn)?shù)據(jù)驗(yàn)證和下拉列表。
- 使用 XlsxWriter,可以插入 PNG/JPEG/GIF/BMP/WMF/EMF 圖像。
- 借助 XlsxWriter,Excel 電子表格可以與 Pandas 庫(kù)集成。
- XlsxWriter 還支持添加宏。
- XlsxWriter 具有用于寫入大文件的內(nèi)存優(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',#水平對(duì)齊方式
'valign': 'vcenter',#垂直對(duì)齊方式
'font_name': u'微軟雅黑',
'text_wrap': False, # 是否自動(dòng)換行
}
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')總結(jié)
到此這篇關(guān)于Python數(shù)據(jù)分析之Excel和Text文件的讀寫操作方法的文章就介紹到這了,更多相關(guān)Python讀寫Excel和Text文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)將數(shù)據(jù)框數(shù)據(jù)寫入mongodb及mysql數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將數(shù)據(jù)框數(shù)據(jù)寫入mongodb及mysql數(shù)據(jù)庫(kù)的方法,結(jié)合具體實(shí)例形式分析了Python針對(duì)mongodb及mysql數(shù)據(jù)庫(kù)的連接、寫入等操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
python存儲(chǔ)16bit和32bit圖像的實(shí)例
今天小編就為大家分享一篇python存儲(chǔ)16bit和32bit圖像的實(shí)例,具有的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Django城市信息查詢功能的實(shí)現(xiàn)步驟
Django中的查詢操作是數(shù)據(jù)庫(kù)操作中一個(gè)非常重要的技術(shù),下面這篇文章主要給大家介紹了關(guān)于Django城市信息查詢功能的實(shí)現(xiàn)步驟,文中通過(guò)實(shí)例代碼和圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn)
這篇文章主要介紹了python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
Python實(shí)現(xiàn)尋找回文數(shù)字過(guò)程解析
這篇文章主要介紹了Python實(shí)現(xiàn)尋找回文數(shù)字過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python+eval函數(shù)實(shí)現(xiàn)動(dòng)態(tài)地計(jì)算數(shù)學(xué)表達(dá)式詳解
Python的 eval() 允許從基于字符串或基于編譯代碼的輸入中計(jì)算任意Python表達(dá)式。當(dāng)從字符串或編譯后的代碼對(duì)象的任何輸入中動(dòng)態(tài)計(jì)算Python表達(dá)式時(shí),此函數(shù)非常方便。本文將利用eval實(shí)現(xiàn)動(dòng)態(tài)地計(jì)算數(shù)學(xué)表達(dá)式,需要的可以參考一下2022-09-09
python安裝包出現(xiàn)SSL證書驗(yàn)證失敗?的問(wèn)題及解決方式
安裝modelscope時(shí)SSL證書驗(yàn)證失敗,原因?yàn)榇碓O(shè)置干擾了連接,關(guān)閉代理后成功安裝,說(shuō)明代理可能影響SSL握手,建議排查代理配置,優(yōu)先嘗試關(guān)閉代理解決此類問(wèn)題2025-08-08
pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù)
這篇文章主要介紹了pyodps中的apply用法及groupby取分組排序第一條數(shù)據(jù),問(wèn)綻放圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值需要的小伙伴可以參考一下2022-05-05

