導航:首頁 > 編程語言 > 用python操作excel循環

用python操作excel循環

發布時間:2022-05-12 13:34:51

A. python 處理excel

使用xlrd讀取文件,使用xlwt生成Excel文件(可以控制Excel中單元格的格式)。但是用xlrd讀取excel是不能對其進行操作的;而xlwt生成excel文件是不能在已有的excel文件基礎上進行修改的,如需要修改文件就要使用xluntils模塊。pyExcelerator模塊與xlwt類似,也可以用來生成excel文件。
[代碼]test_xlrd.py **
#coding=utf-8
#######################################################
#filename:test_xlrd.py
#author:defias
#date:xxxx-xx-xx
#function:讀excel文件中的數據
#######################################################
import xlrd
#打開一個workbook
workbook = xlrd.open_workbook('E:\\Code\\Python\\testdata.xls')
#抓取所有sheet頁的名稱
worksheets = workbook.sheet_names()
print('worksheets is %s' %worksheets)
#定位到sheet1
worksheet1 = workbook.sheet_by_name(u'Sheet1')
"""
#通過索引順序獲取
worksheet1 = workbook.sheets()[0]
#或
worksheet1 = workbook.sheet_by_index(0)
"""
"""
#遍歷所有sheet對象
for worksheet_name in worksheets:
worksheet = workbook.sheet_by_name(worksheet_name)
"""
#遍歷sheet1中所有行row
num_rows = worksheet1.nrows
for curr_row in range(num_rows):
row = worksheet1.row_values(curr_row)
print('row%s is %s' %(curr_row,row))
#遍歷sheet1中所有列col
num_cols = worksheet1.ncols
for curr_col in range(num_cols):
col = worksheet1.col_values(curr_col)
print('col%s is %s' %(curr_col,col))
#遍歷sheet1中所有單元格cell
for rown in range(num_rows):
for coln in range(num_cols):
cell = worksheet1.cell_value(rown,coln)
print cell
"""
#其他寫法:
cell = worksheet1.cell(rown,coln).value
print cell
#或
cell = worksheet1.row(rown)[coln].value
print cell
#或
cell = worksheet1.col(coln)[rown].value
print cell
#獲取單元格中值的類型,類型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
cell_type = worksheet1.cell_type(rown,coln)
print cell_type
"""
**2. [代碼]test_xlwt.py **
#coding=utf-8
#######################################################
#filename:test_xlwt.py
#author:defias
#date:xxxx-xx-xx
#function:新建excel文件並寫入數據
#######################################################
import xlwt
#創建workbook和sheet對象
workbook = xlwt.Workbook() #注意Workbook的開頭W要大寫
sheet1 = workbook.add_sheet('sheet1',cell_overwrite_ok=True)
sheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True)
#向sheet頁中寫入數據
sheet1.write(0,0,'this should overwrite1')
sheet1.write(0,1,'aaaaaaaaaaaa')
sheet2.write(0,0,'this should overwrite2')
sheet2.write(1,2,'bbbbbbbbbbbbb')
"""
#-----------使用樣式-----------------------------------
#初始化樣式
style = xlwt.XFStyle()
#為樣式創建字體
font = xlwt.Font()
font.name = 'Times New Roman'
font.bold = True
#設置樣式的字體
style.font = font
#使用樣式
sheet.write(0,1,'some bold Times text',style)
"""
#保存該excel文件,有同名文件時直接覆蓋
workbook.save('E:\\Code\\Python\\test2.xls')
print '創建excel文件完成!'
**3. [代碼]test_xlutils.py **
#coding=utf-8
#######################################################
#filename:test_xlutils.py
#author:defias
#date:xxxx-xx-xx
#function:向excel文件中寫入數據
#######################################################
import xlrd
import xlutils.
#打開一個workbook
rb = xlrd.open_workbook('E:\\Code\\Python\\test1.xls')
wb = xlutils..(rb)
#獲取sheet對象,通過sheet_by_index()獲取的sheet對象沒有write()方法
ws = wb.get_sheet(0)
#寫入數據
ws.write(1, 1, 'changed!')
#添加sheet頁
wb.add_sheet('sheetnnn2',cell_overwrite_ok=True)
#利用保存時同名覆蓋達到修改excel文件的目的,注意未被修改的內容保持不變
wb.save('E:\\Code\\Python\\test1.xls')
**4. [代碼]test_pyExcelerator_read.py **
#coding=utf-8
#######################################################
#filename:test_pyExcelerator_read.py
#author:defias
#date:xxxx-xx-xx
#function:讀excel文件中的數據
#######################################################
import pyExcelerator
#parse_xls返回一個列表,每項都是一個sheet頁的數據。
#每項是一個二元組(表名,單元格數據)。其中單元格數據為一個字典,鍵值就是單元格的索引(i,j)。如果某個單元格無數據,那麼就不存在這個值
sheets = pyExcelerator.parse_xls('E:\\Code\\Python\\testdata.xls')
print sheets
**5. [代碼]test_pyExcelerator.py **
#coding=utf-8
#######################################################
#filename:test_pyExcelerator.py
#author:defias
#date:xxxx-xx-xx
#function:新建excel文件並寫入數據
#######################################################
import pyExcelerator
#創建workbook和sheet對象
wb = pyExcelerator.Workbook()
ws = wb.add_sheet(u'第一頁')
#設置樣式
myfont = pyExcelerator.Font()
myfont.name = u'Times New Roman'
myfont.bold = True
mystyle = pyExcelerator.XFStyle()
mystyle.font = myfont
#寫入數據,使用樣式
ws.write(0,0,u'ni hao 帕索!',mystyle)
#保存該excel文件,有同名文件時直接覆蓋
wb.save('E:\\Code\\Python\\mini.xls')
print '創建excel文件完成!'

B. python怎麼處理excel

可以循環列表填充到excel的每一個單元格,也可以按行或者列直接填充列表

C. python如何對excel數據進行處理

在python語言中,可以使用xlrd和xlwt兩個庫操作excel。
在python語言中處理Excel的方法:
在python項目中,新建python文件,並依次導入xlrd和xlwt。
接著調用open_workbook()方法,打開一個excel文件
調用sheet_by_name()方法,讀取文件的sheet頁
如果是後面加了個s,sheet_names表示獲取excel中所有的sheet頁
利用sheets()方法加序號,可以獲取某個sheet頁對象
如果想要獲取excel某個sheet頁中記錄的總數,使用nrows
在cell()中傳入兩個值,一個行一個列,然後value獲取對應單元格的值
推薦:python視頻教程以上就是小編分享的關於python如何對excel數據進行處理的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

D. phthon 怎麼用for 循環excel 中一行的數字

隨便創建個excel文件,裡面存1,2,...,10到第一行。


是這個意思麽=。=?

E. python處理excel教程是什麼

python處理excel教程:首先打開pycharm工具,創建python項目;然後新建python文件,依次導入openpyxl、xlrd和xlwt,並定義函數;接著向excel插入數據;最後調用函數載入數據即可。
python處理excel教程:
1、打開pycharm工具,創建一個python項目,並打開項目
2、在指定文件夾下,新建python文件,依次導入openpyxl、xlrd和xlwt
3、定義函數write_data,創建excel的sheet頁,然後向excel插入數據
4、再定義設置excel文檔格式樣式函數setExcelStyle,傳入幾個參數
5、判斷__name__是否等於__main__,調用函數write_data()
6、保存代碼並運行python文件,查看是否生成sales.xlsx文件
7、使用openpyxl模塊中的load_workbook()方法,載入sales.xlsx文件
8、獲取對應sheet頁,然後獲取對應單元格的值
以上就是小編分享的關於python處理excel教程是什麼的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

F. python對EXCEL的操作

1)根據sheet的sheet_by_index屬性索引獲取
2)根據sheet的sheet_by_name屬性名字獲取
4.獲取指定sheet的名字、行數、列數
調用指定sheet的name、nrows、ncols

G. 如何用python操作excel

指定選取三列然後挑選出同時滿足>=1或者同時<=-1的 將其所有數據存入新的csv表格中
程序如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2014-04-10 21:47:56
# @Function: 指定選取三列然後挑選出同時滿足>=1或者同時<=-1的 將其所有數據存入新的csv表格中
# @Author : BeginMan

import os
import string
import xlrd
import xlwt

def get_data():
"""獲取excel數據源"""
file = r'C:\Users\Administrator\Desktop\pytool\xlrd\initial_log_data.xls' # 改成自己的路徑
filepath = raw_input(u'請將xls文件路徑粘貼進去,如果程序里已經指定了文件則按Enter鍵繼續:')
is_valid = False # 驗證文件
try:
filepath = [file, filepath][filepath != '']
print filepath
# 判斷給出的路徑是不是xls格式
if os.path.isfile(filepath):
filename = os.path.basename(filepath)
if filename.split('.')[1] == 'xls':
is_valid = True
data = None
if is_valid:
data = xlrd.open_workbook(filepath)
except Exception, e:
print u'你操作錯誤:%s' %e
return None
return data

def handle_data():
"""處理數據"""
data = get_data()
if data:
col_format = ['B', 'C', 'D'] # 指定的列
inp = raw_input(u'請選擇指定的三列,用逗號分隔,默認的是B,C,D(英文逗號,不區分大小寫),如果選擇默認則按Enter鍵繼續:\n')
try:
inp = inp.split(',')
col_format = [col_format,inp][len([i for i in inp if i in string.letters]) == 3]
col_format = [i.upper() for i in col_format] # 轉換成大寫
table = data.sheet_by_index(0) # 選取第一個工作區
nrows = table.nrows # 行數
ncols = table.ncols # 列數
str_upcase = [i for i in string.uppercase] # 所有大寫字母
i_upcase = range(len(str_upcase)) # 對應的數字
ncols_dir = dict(zip(str_upcase,i_upcase)) # 格式成字典
col_index = [ncols_dir.get(i) for i in col_format] # 獲取指定列所對應的索引

# 選取的三列是否同時滿足 >=1或者同時<=-1
print u'正在檢索中……'
count = 0
result = []
for i in xrange(nrows):
cell_0 = table.cell(i,col_index[0]).value
cell_1 = table.cell(i,col_index[1]).value
cell_2 = table.cell(i,col_index[2]).value
if (cell_0>=1 and cell_1>=1 and cell_2>=1) or (cell_0<=-1 and cell_1<=-1 and cell_2<=-1):
result.append(table.row_values(i)) # 將符合要求的一行添加進去
count += 1
print u'該文件中共%s行,%s列,其中滿足條件的共有%s條數據' %(nrows, ncols, count)
print u'正在寫入數據……'
col_name = col_format[0]+col_format[1]+col_format[2]
if write_data(result, col_name):
print u'寫入成功!'
except Exception, e:
print u'你操作錯誤:%s' %e
return None
else:
print u'操作失敗'
return None

def write_data(data, name):
"""寫入數據,data為符合條件的數據列表,name表示指定的哪三個列,以此命名"""
file = xlwt.Workbook()
table = file.add_sheet(name,cell_overwrite_ok=True)
l = 0 # 表示行
for line in data:
c = 0 # 表示一行下的列數
for col in line:
table.write(l,c,line[c])
c += 1
l += 1
defatul_f = r'C:\Users\Administrator\Desktop\pytool\xlrd' # 默認路徑
f = raw_input(u'請選擇保存文件的路徑:按回車跳過:')
f_name = r'\%s.xls' % name
filepath = [defatul_f+f_name, f+f_name][f != '']
file.save(filepath)
return True

def main():
handle_data()

if __name__ == '__main__':
main()

H. python可以處理excel數據嗎

python處理excel數據的方法:1、使用xlrd來處理;2、使用【xlutils+xlrd】來處理;3、使用xlwt來處理;4、使用pyExcelerator來處理;5、使用Pandas庫來處理。

I. python讀取表格,如何循環輸出一列一列內容,而不是輸出全部列內容

表格也不給,sheet.col_values(2)就是直接獲取第2列所有內容了(從第0列開始算)
你想要的輸出格式是什麼

J. python如何循環讀取excel裡面每個單元格的內容,我要將每一個單元格的內容同其他單元格進行比較

先安裝xlrd模塊

#-*-coding:utf8-*-
importxlrd

fname="reflect.xls"
bk=xlrd.open_workbook(fname)
shxrange=range(bk.nsheets)
try:
sh=bk.sheet_by_name("Sheet1")
except:
print"nosheetin%snamedSheet1"%fname
#獲取行數
nrows=sh.nrows
#獲取列數
ncols=sh.ncols
print"nrows%d,ncols%d"%(nrows,ncols)
#獲取第一行第一列數據
cell_value=sh.cell_value(1,1)
#printcell_value

row_list=[]
#獲取各行數據
foriinrange(1,nrows):
row_data=sh.row_values(i)
row_list.append(row_data)
閱讀全文

與用python操作excel循環相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:388
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:992
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:431
pdf快速看圖破解版 瀏覽:295