私は少し正確に進んでいくので、ちょっとしたナッジが非常に役に立ちます。Python:データフレームへの複数のテキストファイル
実際には、の書式にある〜1800件のテキストファイルがあります。それの要点です
From: Person-1 [[email protected]]
Sent: Tuesday, April 18, 2017 11:24 AM
To: [email protected]
Subject: Important Subject
User,
Below is your search alert.
Target: text
Attribute: text
Label: abcdef
Time: Apr 18, 2017 11:24 EDT
Full Text: Text of various length exists here. Some files even have links. I'm not sure how I would capture a varied length field.
Recording: abcde & fghijk lmnop
を次のように
各ファイルの構造があります。
私はCSVとして保存できるDFに書きたいと思います。
私は多分このようなもので終わりたいですか?
2番目の行は別のテキストファイルです。
すべてのテキストファイルを読み込んで印刷するコードがあります。そのコードは次のとおりです。
# -*- coding: utf-8 -*-
import os
import sys
# Take all text files in workingDirectory and put them into a DF.
def convertText(workingDirectory, outputDirectory):
if workingDirectory == "": workingDirectory = os.getcwd() + "\\" # Returns current working directory, if workingDirectory is empty.
i = 0
for txt in os.listdir(workingDirectory): # Iterate through text filess in workingDirectory
print("Processing File: " + str(txt))
fileExtension = txt.split(".")[-1]
if fileExtension == "txt":
textFilename = workingDirectory + txt # Becomes: \PATH\example.text
f = open(textFilename,"r")
data = f.read() # read what is inside
print data # print to show it is readable
#RegEx goes here?
i += 1 # counter
print("Successfully read " + str(i) + " files.")
def main(argv):
workingDirectory = "../Documents/folder//" # Put your source directory of text files here
outputDirectory = "../Documents//" # Where you want your converted files to go.
convertText(workingDirectory, outputDirectory)
if __name__ == "__main__":
main(sys.argv[1:])
私はおそらく、ファイルを解析するためにRegExが必要でしょうか?あなたは何をお勧めします?
私はそれが理にかなっていれば、Rなどを使用することに反対していません。
ありがとうございます。
素晴らしい!そんなにアレッシー42ありがとう!これは魅力的に機能しました。今私はただ一つの質問があります。いくつかの例では、 "フルテキスト"の次の数行は "フルテキスト"の一部ですが、何らかの理由で含まれていません。基本的に「録音する前のすべての行を「フルテキスト」の一部にする必要があります」と言う方法はありますか? – kabaname
ドット区切りに新しい行を追加し、終端記号を設定してリストの次の項目にするか、またはフルテキスト選択を忘れてしまいます。これの正規表現は '\ sFull Text :((。| \ n)*?)(Recording:)' https://regex101.com/r/ODbJrz/3を参照してください。 –