2016-12-28 5 views
1

私はtxt文書の完全なディレクトリがあります。私はパンダのデータフレームにすべての文書を読むことができますどのようにパンダのデータフレームに一連のドキュメントを収集するにはどうすればいいですか?

. 
├── file.txt 
├── file.txt 
├── file.txt 
... 
├── file.txt 
└── file.txt 

を?,他の言葉で私の目標は、パンダのデータフレームのオブジェクトに格納することで、このようないくつかの文書(* ):

id text_blob 
0 file_name.txt Lore lipsum dolor done 
1 file_name.txt Lore lipsum ... 
2 file_name.txt dolor ... 
3 file_name.txt lore lipsum lore ... 
4 file_name.txt dolor... 

これまでのところ、私は以下のコードを試しました。しかし、それはニシキヘビのではなく、私はいくつかの整形ミス持つ(例えば、スペースの問題、'"、整形を。):

import glob, os, csv, argparse, sys 

def retrive(directory_path): 
    for filename in sorted(glob.glob(os.path.join(directory_path, '*.txt'))): 
     with open(filename, 'r') as f: 
      important_stuff = f.read().splitlines() 
      oneline = [' '.join(important_stuff)] 
      yield filename.split('/')[-1] + ', ' +str(oneline).strip('[]"') 

def trans(directory,directory2): 
      test = tuple(retrive(directory)) 
      with codecs.open(directory2,'w', encoding='utf8') as out: 
       csv_out=csv.writer(out, delimiter='|') 
       csv_out.writerow(['name','text_blob']) 
       for row in test: 
        csv_out.writerow(row.split(', ', 1)) 


input_d = '../in' 
out_d = '../out' 



trans(input_d,out_d) 
+0

結果がどのように表示されるかはわかりません。助けてくれてありがとう、http://stackoverflow.com/help/mcveとhttp://stackoverflow.com/help/how-to-ask – piRSquared

+0

@piRSquaredを読んでください。私はすべての文書をパンダのデータフレームの中に持つことを期待しています。 (*)のように、パンダのデータフレームは.txtドキュメントの名前に適合し、右側はドキュメントのコンテンツに準拠しています。 –

答えて

1
import glob, os 
import pandas as pd 

input_d = '../in' 
filenames = [] 
blobs = [] 
for pathname in sorted(glob.glob(os.path.join(input_d, '*.txt'))): 
    with open(pathname, 'r') as txtfile: 
     filename = os.path.basename(pathname) 
     filenames.append(filename) 
     blob = ' '.join(txtfile.read().splitlines()) 
     blobs.append(blob) 

df = pd.DataFrame({'id':filenames, 'text_blob':blobs}) 

パンダのデータフレームは、それらのmany ways.つで作成することができ辞書オブジェクトを渡しています。

関連する問題