Hello!今天我們來聊一下python讀取和寫入文件的操作。
在進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)挖掘等等有關(guān)數(shù)據(jù)的操作中,我們一般都會碰到python與excel的具體操作。從excel中讀取數(shù)據(jù)出來進(jìn)行分析,清洗,再把清洗完的數(shù)據(jù)或者新的數(shù)據(jù)寫入excel文件。
第一步是要導(dǎo)入xlrd庫,它是讀取excel中數(shù)據(jù)的庫,可在https://pypi.org/project/xlrd/網(wǎng)址中下載。
解壓所下載的壓縮包,用cmd命令行CD到解壓目錄,執(zhí)行 python setup.py install命令,如下表則安裝成功。(這里引用一下別人的圖,侵刪)(這個程序媛真夠懶的哈哈哈)
第二步是要導(dǎo)入xlwt庫,它是開發(fā)人員用于生成與Microsoft Excel版本95到2003兼容的電子表格文件的庫。可到https://pypi.python.org/pypi/xlwt/網(wǎng)址中下載。
接著用cmd命令行切換到下載文件所解壓的目錄,輸入python setup.py install命令,如無意外則安裝成功。
首先是從excel中讀取數(shù)據(jù)。
讀取excel數(shù)據(jù)
import xlrd
import xlutils
import numpy as np
def main():
Rows=[]
Cols=[]
data = xlrd.open_workbook(r"data/需要清洗的數(shù)據(jù)表.xlsx")
table = data.sheets()[0]
nrows = table.nrows#行數(shù)有多少
ncols = table.ncols#列數(shù)有多少
for i in (1, nrows + 1):#從excel第二行開始讀取,可限定范圍,即為部分讀取
rows = table.row_values(i) # rows為存有每一行的列表
Rows.append(rows) #列表中的元素為每一行的元素
for i in (0, ncols):#從excel第一列開始讀取,范圍可任意修改
cols = table.col_values(i) # cols為存有每一列的列表
Cols.append(cols) # Cols列表中的第一個元素是execl第一列中的記錄,長度為8。
若是想在原有文件基礎(chǔ)上把數(shù)據(jù)單獨(dú)寫入文件,則可用
import xlrd
import xlutils
def main():
data = xlrd.open_workbook(r"data/需要清洗的數(shù)據(jù)表.xlsx")
table = data.sheets()[0]
table.write(1, 6, ‘你好’)
table.save(r'data/需要清洗的數(shù)據(jù)表.xlsx') # 保存,括號里為路徑
寫入新的excel文件
import xlwt
workbook = xlwt.Workbook(encoding = 'ascii')#創(chuàng)建工作簿,可以指定編碼格式
worksheet = workbook.add_sheet('My Worksheet')#sheet名稱
style = xlwt.XFStyle() # 初始化樣式
font = xlwt.Font() # 為樣式創(chuàng)建字體
font.name = 'Times New Roman'#字體名稱
font.bold = True # 黑體
font.underline = True # 下劃線
font.italic = True # 斜體字
style.font = font # 設(shè)定樣式
worksheet.write(0, 0, '電影名稱') # 對第0行第0列進(jìn)行不帶樣式的寫入
worksheet.write(0, 1, '電影類型') # 不帶樣式的寫入
worksheet.write(0, 2, '電影評分') # 不帶樣式的寫入
worksheet.write(0, 3, '電影評分',style) # 帶樣式的寫入
N = [‘1’,‘2’,‘3’,‘4’,‘5’,‘6’]#列表創(chuàng)建
i=1
for each in N:#逐個寫入
worksheet.write(i, 0, each)
i += 1
workbook.save('biaoge2.xls')
# 保存文件,括號里為文件名,若文件名為變量,可用上述代碼傳進(jìn)形參括號里不需加引號就行
好啦,如果遇到有問題,可在下方留言喔。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
