2017-06-29 39 views
0

我有幾行代碼和一個小小的困境,所以我爲了分析的目的編寫了這段代碼,它佔用了一個excel文件,使用熊貓作爲Dataframme讀取它,我沒有錯,我很新的編碼,並將文件分爲5的倍數。儘管如此,我能夠使它與一個文件,但我想知道可以做什麼,使其讀取多個Excel文件應用程序對每個文件進行相同的裝箱並輸出每個單獨的分析文件。該代碼是:導入多個excel文件進​​行數據分析

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import openpyxl 
from pandas import ExcelWriter 

data = pd.read_excel('/Users/user/Desktop/Data/Book1.xlsx') 
counts, bins, patches = plt.hist(data.values, bins=range(0, 
int(max(data.values)+5), 5)) 
df = pd.DataFrame({'bin_leftedge': bins[:-1], 'count': counts}) 
plt.title('Data') 
plt.xlabel('Neuron') 
plt.ylabel('# of Spikes') 
plt.show() 

writer = pd.ExcelWriter('/Users/jorge/Desktop/Data/output.xlsx') 
df.to_excel(writer,'Sheet2') 
writer.save() 

而且,最終的目標是讓能夠讓代碼確定所有輸入和分析Excel文件的最大值,並具有代碼保存所有的人的最大價值(無論是它是2,3,5,27個excel文件),並將每個excel文件與該最大代碼進行比較,非常感謝您的幫助。再次,在此先感謝。

+0

我沒有一個完整的答案,但您需要從定義輸入文件開始。如果這是一個控制檯模塊,那麼您可以使用''my_module.py C:\ path \ to \ Book1.xls C:\ path \ to \ Book2.xls'''來指定每個文件路徑,並使用' ''用於sys.argv中的book_path:''' – RemedialBear

+0

您可以瞭解更多關於'''sys.argv''' [在本教程中](http://www.tutorialspoint.com/python/python_command_line_arguments.htm) – RemedialBear

+1

把你的進程放在一個接受文件名作爲輸入的函數中,並返回分析結果,然後用一個循環遍歷文件傳遞給函數的文件,並用返回值做一些事情。 – wwii

回答

0

開始:

import os 
import re 
                                for files in os.listdir(r"/Users/user/Desktop/Data"): 
    if re.search(r".*.xlsx", files): 
     data = pd.read_excel("//Users//jorge//Desktop//Data/{0}".format(files)) 

....把這裏的代碼...

這將遍歷在目錄中的所有的文件ECEL,您可以reslise它

所需的操作