python對excel操作
❶ 如何用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()
❷ python 怎樣對excle的列進行讀寫操作
python操作Excel讀寫--使用xlrd 一、安裝xlrd模塊 到python官網下載
❸ Python對不同的Excel文件中,相同的定義項操作
用Sheet名字區分操作,比如:
importpandasaspd
writer=pd.ExcelWriter('test.xlsx')
df1=pd.DataFrame(data={'列1':[1,2,3],'列2':[4,5,6]})
df1.to_excel(writer,'Sheet1')
df1.to_excel(writer,'Sheet2')
writer.save()
Sheet1=pd.read_excel('test.xlsx',sheet_name='Sheet1')
Sheet2=pd.read_excel('test.xlsx',sheet_name='Sheet2')
print(Sheet1)
print(Sheet2)
❹ 怎樣用python,讀取excel中的一列數據
用python讀取excel中的一列數據步驟如下:
1、首先打開dos命令窗,安裝必須的兩個庫,命令是:pip3 installxlrd;Pip3 install xlwt。
❺ python有哪些好用的操作excel的模塊
xlrd,xlwt和xlutils是用Python處理Excel文檔的庫。 其中,xlrd只能讀取xls,xlwt只能新建寫xls(不可以修改),xlutils在xlrd和xlwt之間建立一個通道,可以實現xls的修改。
❻ 用python對excel操作,將配方羅列出來
如我下圖所示,D2單元格輸入公式=IFERROR(TEXT(LOOKUP(9^9,--RIGHT(MID($A1,1,FIND(D$1,$A1)-1),ROW($1:$9))),"0.00%"),"")
右拉再下拉公式即可。(公式中的單元格引用可根據你表格實際進行修改套用)
示例
❼ 請問如何用python對excel的數據進行運算處理
引入Excel表格操作模塊
獲取數據後就可以處理數據
❽ python 怎樣對excle文件進行讀寫操作
分別進入到xlrd和xlwt文件中對setup.py進行安裝,安裝命令為setup.py install
進入python解釋器,輸入import xlwt,正常無報錯即可
下面是我寫的一個將Excle文件中的數據讀取到普通文本中,和從普通文本寫到Excel的一個互換程序:
[python] view plain
#encoding:utf8
import xlrd
import xlwt
class OperExcel():
#讀取Excel表
def rExcel(self,inEfile,outfile):
rfile = xlrd.open_workbook(inEfile)
#創建索引順序獲取一個工作表
table = rfile.sheet_by_index(0)
#其他方式
#table = rfile.sheets()[0]
#table = rfile.sheet_by_name(u'Sheet1')
#獲取整行,整列的值
table.row_values(0)
table.col_values(0)
#獲取行數和列數
nrows = table.nrows - 1
ncols = table.ncols
#循環獲取列表的數據
#for i in range(nrows):
# print table.row_values(i)
wfile = open(outfile,'w')
#獲取第一列中的所有值
for i in range(nrows):
#table.cell(i,0).value獲取某一單元格的值
wfile.write(table.cell(i,0).value.encode('utf8') + '\n')
wfile.close()
#將數據寫入Excel表
def wExcel(self,infile,outEfile):
rfile = open(infile,'r')
buf = rfile.read().split('\n')
rfile.close()
w = xlwt.Workbook()
sheet = w.add_sheet('sheet1')
for i in range(len(buf)):
print buf[i]
sheet.write(i,0,buf[i].decode('utf8'))
w.save(outEfile)
if __name__ == '__main__':
t = OperExcel()
t.rExcel('test.xls','test')
t.wExcel('test','1.xls')
❾ 如何用python處理excel數據
想要更好的處理這項數據,那麼你必須得用一些統計的表格來進行歸納。
❿ 如何用python讀取excel文件
1.首先說明我是使用的python3.5,我的office版本是2010,首先打開dos命令窗,安裝必須的兩個庫,命令是:
pip3 install xlrd
Pip3 install xlwt
2.准備好excel,例如我的一個工作文件,我放在D盤/網路經驗/11.xlsx,只有一個頁簽A,內容是一些銷售數據
3.打開pycharm,新建一個excel.py的文件,首先導入支持庫
import xlrdimport xlwt
4.針對剛入門的新手,先介紹三個知識,第一個:獲取excel的sheet名稱,第二:獲取excel行數與列數,第三:獲取第幾行第幾列的具體值,這是最常用的三個知識點
5.貼出代碼,具體分析:
(1)要操作excel,首先得打開excel,使用open_workbook(‘路徑’)
(2)要獲取行與列,使用nrows(行),ncols(列)
(3)獲取具體的值,使用cell(row,col).value
workbook=xlrd.open_workbook(r'E:11.xlsx')print (workbook.sheet_names()) sheet2=workbook.sheet_by_name('A') nrows=sheet2.nrows ncols=sheet2.ncols print(nrows,ncols) cell_A=sheet2.cell(1,1).value print(cell_A)
6.要在excel里寫入值,就要使用write屬性,重點說明寫入是用到xlwt這個支援庫,思路是先新建excel,然後新建頁簽B,然後將一組數據寫入到B,最後保存為excel.xls,這里建議保存為2003的格式,大部分電腦都能打開,特別注意保存的excel的路徑是在python工作文件的目錄下面,貼出代碼:
stus = [['年', '月'], ['2018', '10'], ['2017', '9'], ['2016', '8']]Excel = xlwt.Workbook() # 新建excelsheet = Excel.add_sheet('B') #新建頁簽Brow = 0for stu in stus: col = 0 for s in stu: sheet.write(row, col, s) #開始寫入 col = col + 1 row = row + 1Excel.save('Excel.xls') #保存
關於如何用python讀取excel文件,環球青藤小編就和大家分享到這里了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。如果您還想繼續了解關於python編程的學習方法及素材等內容,可以點擊本站其他文章學習。