下午快下班的時候公司供應(yīng)鏈部門的同事跑過來問我能不能以程序的方法幫他解決一些excel表格每周都需要手工重復(fù)做的事情,Excel 是數(shù)據(jù)處理最常用的辦公工具對于市場、運(yùn)營都應(yīng)該很熟練。哈哈,然而程序員是不怎么會用excel的。下面給大家介紹一下pandas, Pandas是一個強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時也提供數(shù)據(jù)清洗功能。
import pandas as pd
df = pd.read_excel(r'E:\代碼\tables_results\價格表.xlsx')
pd_result = df.to_dict(orient='split')
'''艙位信息列表['航線', 'W', 'I', 'Y', 'B', 'H', 'L', 'P', 'Q', 'G', 'V', 'U', 'Z', 'R', 'N', 'E', 'K']'''
cabin_list = pd_result['columns']
'''航線信息及價格列表 [['LHW-ZUH', 2.0, 0.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0, 2.0, 0] ]'''
data_lists = pd_result['data']
for data in data_lists:
for number in range(0,20):
''' 循環(huán)航線信息取出列表的索引id'''
idxs = [i for i, x in enumerate(data) if x == number]
if idxs: #索引列表
news_data_list = []
for idx in idxs: #循環(huán)索引列表
news_data_list.append(cabin_list[idx])
cabin_merge = ''.join(news_data_list) # 將多個艙位合并
aviation_rebate = idxs[0] # 取出返點(diǎn)價格,因為有多個索引,只取第一個就行
air_route = str(data[0]).split('-') #航線 LHW-ZUH
dpt = air_route[0] # 出發(fā)城市
arr = air_route[1] # 到達(dá)城市
result = dpt + arr + ',' + cabin_merge + ',' + str(int(data[aviation_rebate]))
'''
最終結(jié)果:
['LHWZUH', 'IK', '0']
['LHWZUH', 'WYBHRNE', '2']
['LHWZUH', 'LPQGVUZ', '3']
['ZUHLHW', 'IK', '0']
'''
print(result.split(','))
['TAOCGQ', 'I', '1']
['TAOCGQ', 'WY', '2']
['TAOCGQ', 'BHLPQGRN', '3']
['TAOCGQ', 'VUE', '4']
['TAOCGQ', 'Z', '5']
到此這篇關(guān)于利用Pandas讀取表格行數(shù)據(jù)判斷是否相同的文章就介紹到這了,更多相關(guān)Pandas讀取表格行數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!