2016-10-09 10 views
-1

私は2つのcsvファイルを持っています。次のようにPythonの特定の行を取得

一つは次のとおりです。すべてで

"CONS_NO","DATA_DATE","KWH_READING","KWH_READING1","KWH" 
"1652714033","2015/1/12","4747.3800","4736.8000","10.5800" 
"3332440062","2015/1/12","408.6800","407.8200","0.8600" 
"7804314033","2015/1/12","1794.3500","1792.5000","1.8500" 
"0114314033","2015/1/12","3525.2000","3519.4400","5.7600" 
"1742440062","2015/1/12","3097.1900","3091.4100","5.7800" 
"8230100023","2015/1/12","1035.0500","1026.8400","8.2100" 

000000 6について行。全部で

6360609057 
8771218657 
1338004100 
2500009393 
9184968250 
9710581700 
8833903141 

について1万行を次のように

他のです。

2番目のcsvファイルにはCONS_NOのみがあります。私は、2番目のcsvファイルの番号に対応する最初のcsvファイルの行を探したい。 Pythonで最初のcsvファイルの他の行を削​​除します。

+2

これまで何を試みましたか? –

+0

パンダは[2つのDataFramesを結合する](http://pandas.pydata.org/pandas-docs/stable/merging.html#database-style-dataframe-joining-merging)をサポートしています。あなた自身でそれを解決し、あなたが立ち往生する場合は、いくつかのコードで質問を編集してみてください。 –

+0

ありがとう、それを試してみましょう。 –

答えて

0

DataFrameをマージするには、pandasのマージメソッドを使用します。

私は、次のあなたの例のデータを変更します。

test1.csvは次のとおりです。

"CONS_NO","DATA_DATE","KWH_READING","KWH_READING1","KWH" 
"1652714033","2015/1/12","4747.3800","4736.8000","10.5800" 
"3332440062","2015/1/12","408.6800","407.8200","0.8600" 
"7804314033","2015/1/12","1794.3500","1792.5000","1.8500" 
"8833903141","2015/1/12","3525.2000","3519.4400","5.7600" 
"1742440062","2015/1/12","3097.1900","3091.4100","5.7800" 
"8833903141","2015/1/12","1035.0500","1026.8400","8.2100" 

`test2.csvは」です:

6360609057 
8771218657 
1338004100 
2500009393 
9184968250 
9710581700 
8833903141 

あなたは今、次のコードを使用してそれらをマージすることができます:

import pandas as pd 

df1 = pd.read_csv('test1.csv') 
df2 = pd.read_csv('test2.csv', names=['CONS_NO']) 

pd.merge(df1, df2, on='CONS_NO') 

と入力すると、次のような出力が得られます。

CONS_NO  DATA_DATE KWH_READING KWH_READING1 KWH 
0 8833903141 2015/1/12 3525.20  3519.44   5.76 
1 8833903141 2015/1/12 1035.05  1026.84   8.21 
関連する問題