2017-07-05 12 views
1

私は同じ情報を含むレポートをたくさん持っていますが、列には順序とタイトルが矛盾しています。情報を解析する機能を実行すると、私は自分が望むものを得られません。PythonでどのようにExcelから一貫性のない列を再構成するのですか?

列を一貫した方法で整理して、後でその行を処理するにはどうすればよいですか?

現在の列は次のようになります。

['Comment', 'Rec Date', 'Receipt Number', 'Rec Amt', 'Receipt Method', 'Status'] 
['Comment', 'State', 'Rec No', 'Rec Date', 'Rec Amt', 'Status'] 
['Receipt Number', 'Rec Date', 'Rec Amt', 'Comment', 'State', 'Status'] 
['Comment', 'Receipt Number', 'Rec Date', 'Rec Amt', 'State', 'Rec Method'] 
['Comment', 'Receipt Number', 'Rec Date', 'Rec Amt', 'Receipt Method', 'State'] 
['Comment', 'Receipt Number', 'Rec Date', 'Rec Amt', 'State', 'Rec Method'] 

これらのカテゴリはすべて列として含めることができます。私はあなたが辞書でrename列を必要とすると信じて

df = pd.read_excel('file.xlsx') 

をし、それらを並べ替える:DataFrameため

+0

あなたのExcelのデータはリストのリストとして表されますか? – PYA

+0

はい、xlrdを使用してデータを読み込み、空白の行を削除し、各行は1つの大きなリスト内のリストとして表されます。 私はその中のデータを解析するためにリストを反復処理しています。つまり、列が異なるとインデックス作成が中断されます。 – Levo

答えて

3

まずread_excel(。特定の列の値を持っていない点は、いくつかのプレースホルダや空の値になるだろう) by sort_index

d = {'Rec No':'Receipt Number', 'Rec Method':'Receipt Method',...} 
df = df.rename(columns=d).sort_index(axis=1) 
+0

血まみれの地獄のパンダは素晴らしいです!このおかげで、大きな助けとなった – Levo

+0

私は絶対に同意する、パンダは素晴らしいです。いい日! – jezrael

関連する問題