① 如何用python對一個EXCEL文件中的數據進行分揀
import pandas as pd
df=pd.read_excel('d:/數據分揀.xlsx')
df1=df.整數[df.整數 % 2!=0]
df2=df.整數[df.整數 % 2==0]
ddf=pd.DataFrame([df.整數.values,df1.values,df2.values],index=['整數','奇數','偶數']).T
ddf.to_excel('d:/分揀.xlsx',index=None)
② 如何使用python或者宏對excel中數據進行統計重復次數
在Python中pandas庫用於數據處理,我們從1787頁的pandas官網文檔中總結出最常用的36個函數,通過這些函數介紹如何通過Python完成數據生成和導入,數據清洗,預處理,以及最常見的數據分類,數據篩選,分類匯總,透視等最常見的操作。
③ python和哪個第三方庫組合能處理Excel數據
Python和第三方庫組合處理Excel數據的有很多,常見的有:xlwings、xlsxwriter、openpyxl、xlwt、xlrd、xluntils、pyExcelerator等等。
不同的庫用法也有些不同,其實個人覺得首先還是需要把Excel本身用好,本身用好了,其他編程的用起來就會省事得多了。
④ 用python讀取excel,怎樣顯示要查找的數據
感覺還是CSV格式的好處理一些,EXCEL的要裝插件,以CSV為例,給一段代碼
sqlserver char 對應c#
import linecache
o=open('d:\\test\\14.csv')#文件路徑
o.seek(0)
r=o.readlines()
s1=str(input('輸入要定位的信息:'))
a=0
count=0
for i in r: #按和值組合查找
if i.find(s1)>=0:
print r[a-1]#顯示上一行
print i#顯示定位行
print r[a+1]#顯示下一行
a+=1
print 'Total:%d'%count
例:
在以下數據中,查找含有T的行,並顯示上一行(n行) or 下一行(n行) 。
1,2,3,4
W,R,GFR,T
12,,F,34,G
⑤ python對比兩張EXCEL表,將不同的數據生成新表
import pandas as pd
# 數據表 a
df1 = pd.read_excel('C:/Users/Jelly/Desktop/a.xlsx')['名稱']
# 數據表 b
df2 = pd.read_excel('C:/Users/Jelly/Desktop/b.xlsx')
# 篩選標記為2的名稱
df2 = df2[df2['標記'] == 2]['名稱']
# 數據表 a 轉換為列表
aList = list(df1)
# 表頭
columns = ['名稱']
cList = []
# 遍歷數據表 b
for k in df2:
# 判斷 標記為2的名稱是否在數據表中
if k not in aList:
# 輸出
print(k)
cList.append(k)
df3 = pd.DataFrame(cList, columns=columns)
# 保存新數據表
df3.to_excel('c.xlsx', index=0)
c
⑥ python 篩選excel中符合條件的數據
用for循環遍歷csv文件,取出來的都是數據列表list,繼續用for遍歷並用if條件判斷取出就可以了,希望能幫助到你!
⑦ 用python給excel某一列提取出來
可以用pandas庫很方便的進行讀取
import pandas as pd
#獲取d盤根目錄下工作簿4這個EXCEL文件的Sheet2工作表中的D列(第3列)內容
df=pd.read_excel(r'd:/工作簿4.xlsx',sheet_name='Sheet2',usecols=[2])
print(df)
⑧ python對excel表格內容做正則過濾腳步
安裝pandas庫。
將之前收集到的文件信息重新構建成絕對路徑以便讀取,同時使用endswith()判斷文件名後綴為.xlsx,使用pandas的read_excel()進行讀取。
其中sheet_name=可用表名或者數字,0代表第一個表,1代表第二個表,'sheet1』代表讀取sheet1表。
⑨ 如何用python遍歷文件夾下的所有excel文件
大數據處理經常要用到一堆表格,然後需要把數據導入一個list中進行各種演算法分析,簡單講一下自己的做法:
1.如何讀取excel文件
網上的版本很多,在xlrd模塊基礎上,找到一些源碼:
[python]view plain
importxdrlib,sys
importxlrd
defopen_excel(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx"):
data=xlrd.open_workbook(file)
returndata
#根據索引獲取Excel表格中的數據參數:file:Excel文件路徑colnameindex:表頭列名所在行的所以,by_index:表的索引
defexcel_table_byindex(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_index=0):
data=open_excel(file)
table=data.sheets()[by_index]
nrows=table.nrows#行數
ncols=table.ncols#列數
colnames=table.row_values(colnameindex)#某一行數據
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
#根據名稱獲取Excel表格中的數據參數:file:Excel文件路徑colnameindex:表頭列名所在行的所以,by_name:Sheet1名稱
defexcel_table_byname(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_name=u'Sheet1'):
data=open_excel(file)
table=data.sheet_by_name(by_name)
nrows=table.nrows#行數
colnames=table.row_values(colnameindex)#某一行數據
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
defmain():
tables=excel_table_byindex()
forrowintables:
print(row)
tables=excel_table_byname()
forrowintables:
print(row)
if__name__=="__main__":
main()
最後一句讓代碼里的函數都可以被復用,簡單地說:假設文件名是a,在程序中import a以後,就可以用a.excel_table_byname()和a.excel_table_byindex()這兩個超級好用的函數了。
2.然後是遍歷文件夾取得excel文件以及路徑:,原創代碼如下:
[python]view plain
importos
importxlrd
importtest_wy
xpath="E:/唐偉捷/電力/電力系統總文件夾/舟山電力"
xtype="xlsx"
typedata=[]
name=[]
raw_data=[]
file_path=[]
defcollect_xls(list_collect,type1):
#取得列表中所有的type文件
foreach_elementinlist_collect:
ifisinstance(each_element,list):
collect_xls(each_element,type1)
elifeach_element.endswith(type1):
typedata.insert(0,each_element)
returntypedata
#讀取所有文件夾中的xls文件
defread_xls(path,type2):
#遍歷路徑文件夾
forfileinos.walk(path):
foreach_listinfile[2]:
file_path=file[0]+"/"+each_list
#os.walk()函數返回三個參數:路徑,子文件夾,路徑下的文件,利用字元串拼接file[0]和file[2]得到文件的路徑
name.insert(0,file_path)
all_xls=collect_xls(name,type2)
#遍歷所有type文件路徑並讀取數據
forevey_nameinall_xls:
xls_data=xlrd.open_workbook(evey_name)
foreach_sheetinxls_data.sheets():
sheet_data=test_wy.excel_table_byname(evey_name,0,each_sheet.name)
#請參考讀取excel文件的代碼
raw_data.insert(0,sheet_data)
print(each_sheet.name,":Datahasbeendone.")
returnraw_data
a=read_xls(xpath,xtype)
print("Victory")