2017-03-28 3 views
0

私はPythonの初心者で、このタスクを解決しようとしています: 私は複数の(125行の).csvファイル(それぞれ48行と5列)を持ち、新しいファイルを作成しようとしています。すべての.csvファイルから最初の行と最後の行(1行で書かれています)を含みます。複数ファイルからの新しいファイル

+0

ファイルの形式を正確に記述してください。解析することは重要です。 – 098799

+2

ここにはたくさんのサブクエリがあります:ファイルのリストを生成する方法(手で入力しないと仮定して) csvを読む方法。最初と最後の行を格納する方法。行を結合する方法。 csvを書く方法。それらのそれぞれは以前とは異なる方法で対処されていますので、問題を解読し、docs/SOの質問を読んで、自分で試してみることをお勧めします。 – DSM

+0

すべての基本情報は、https://wiki.python.org/moin/BeginnersGuideのように、最後の行を取得するために使用します。http://stackoverflow.com/questions/38704949/read-the-last- N-ライン・オブ・-CSVファイルインのpython-と-numpyの-パンダまあこれはかなり幅広いですが、あなたは、ファイルのリストを生成する方法を見つけ出すときに、データフレームを開くために)(パンダのread_csvを使用することができ – Dadep

答えて

0

ここから始めようと思うのは、ファイルのリストを生成し、それをPandasで開く方法です。これは、ディレクトリからcsvファイルのリストを生成し、リストを反復し、それぞれをCSV Pandas DataFrameとして開きます。次に、各csvファイルの最初と最後の行の新しいリストを作成します。私はどのように2つのうち1行を作成したいのか分からないので、うまくいけば、これはあなたの出発点です。

import os 
import pandas as pd 

#get all files in current directory, or specify the directory in lisdir 
csv_files = [file for file in os.listdir(".")] 

#create dictionary and load all the files as dataframes. 
dataframes = {} 
for x in range(len(csv_files)): 
    dataframes[x] = pd.read_csv(csv_files[x]) 

#get first and last row from each dataframe(loaded csv). 
result_df = pd.DataFrame() 
for item in dataframes: 
    result_df = result_df.append(dataframes[item].iloc[0]) 
    result_df = result_df.append(dataframes[item].iloc[-1]) 

#write to csv file. 
result_df.to_csv("resulting.csv") 
関連する問題