1つのフォルダに20を超えるCSVファイルがあります。すべてのファイルの構造は同じで、異なる日を表しているだけです。
例:
Day01.csv
Day02.csv
Day03.csv
Day04.csv(など...)
ファイルには、xとyの2つの数値列のみが含まれています。これらのcsvファイルをすべて1つの大きなファイルに追加し、ファイル名(日)の列を追加したいと思います。同様の例を調べて次のコードを生成しましたが、このコードは各yを個別の列(Y1、Y2、Y3、Y4など)に追加します。この追加されたファイルを、x、y、ファイル名の3つの列として単純に作成したいと思います。適切な追加を行うためにコードを変更するにはどうすればよいですか?
この例のコードを試しました:複数のcsvファイルを読み取り、パンダの新しい列としてファイル名を追加します
import pandas as pd
import os
os.chdir('C:....path to my folder')
files = os.listdir()
df = pd.concat([pd.read_csv(fp).assign(New=os.path.basename(fp)) for fp in files])
ただし、このコードは1つの列の下にすべてのY値を追加するわけではありません。(ただし、他のすべての側面は機能しているようです)。すべてのY値が単一の列の下にあるように誰かがコードを手伝ってもらえますか?
以下は、リストfilename
にを追加する前に列を作成することで機能するはずdataframe
です。
import os
import pandas as pd
file_list = []
for file in os.listdir():
if file.endswith('.csv'):
df = pd.read_csv(file,sep=";")
df['filename'] = file
file_list.append(df)
all_days = pd.concat(file_list, ignore_index=True)
all_days.to_csv("all.txt")
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加