2017-07-27 6 views
1

ネットワークフォルダからすべて.gzファイルのフォルダパスを探したいと思います。 私はscriptの下に持っているが、そのはerrorを与える:Python 3.6.0でDataframeに文字列を挿入

TypeError: cannot concatenate a non-NDFrame object 

同じ

スクリプトに助けてください:あなたはすべての.gzファイルを取得するためにグロブモジュールでglob機能を使用することができます

import os 
import pandas as pd 

adcPath = r'\\ADC\redshift-datasets\BLSCEWAG2016' 

gzPath = pd.DataFrame(columns=['Path'], dtype=object) 
for path, subdirs, files in os.walk(adcPath): 
for name in files: 
if name.endswith('.gz'): 
gzPath = gzPath.append(path) # Want to insert to dataframe gzPath to export in csv 

gzPath = gzPath['Path'].unique() 
exportPath = r'D:\Sunil_Work\temp8' + '\\Path.csv' 
gzPath.to_csv(exportPath) 

答えて

1

import glob 
files = glob.glob(r'\\ADC\redshift-datasets\BLSCEWAG2016\**\*.gz', recursive=True) 

次に、データフレームを作成し、df.uniqueを呼び出す:

gzPath = pd.DataFrame(files, columns=['Path'], dtype=object)['Path'].unique() 

保存するCSV:

exportPath = r'D:\Sunil_Work\temp8' + '\\Path.csv' 
gzPath.to_csv(exportPath)  
+0

@coldspeed、応答に感謝します。しかし、私はパスを与えることができます:adcPath = r '\\ ADC \ redshift-datasets \ BLSCEWAG2016'、私はすべてのパスではなく、上記のパスからフェッチしたい –

+0

しかし、サブフォルダが存在する場合は空白を与え、 .gZファイルが含まれています –

+0

@faithon Okay ...私の答えを編集しました。 'glob'と一緒に' recursive'フラグを使います。 –

関連する問題