2017-11-02 14 views
0

は私が複数の行で、以下の形式の生データファイルを持っている値:Pythonは、ファイルから文字列を読み込み、列名に分割し、

NAME: Jack Age : 25 skill : c++ designation : Analyst other comments:this 
is basic info 

NAME : Kattie Age: 45 skill: python designation: director Other Comments: name : Jane Kattie 

私が欲しいの出力のように:

name age skill designation other_Comments  name_2 
0 Jack 25 c++  analyst  This is basic Info NA 
1 Kattie 45 python Director  NA     Jane Kattie 

私は以下のコードを使用しようとしましたが、行2のような特殊なケースを処理できませんでした。私はPythonには新しく、よりよい方法があれば提案してください。キーワードは明確な値です。

コード:

file =pd.read_excel('mydata.xlsx', sheetname="Sheet1", header=None) 
file.columns =['data'] 

for i in range(0,len(file)): 
    x=file[file.columns.values [0]][i] 
    name= re.findall(r'Name:(.*?)Age',x) 
    Age= re.findall(r'Age(.*?) skill',x) 
    skills= re.findall(r'skill(.*?)designation',x) 
    other_Comments = re.findall(r'other comments(.*?),x) 
    file['Name'][i] = name 
    file['Age'][i] = Age 
    file['Skill'][i] = skills 
    file ['Other_Comments'][i] = other_Comments 
+0

あなたが今までに持っているコードを教えてください - どのようにファイルからテキストを読み込んでいますか?どのファイル形式ですか?リスト機能に何が問題になりましたか? 「タイトル」(例:NAME)が表示されることがわかっている場合は、各行で[str.split( ":")](https://docs.python.org/2/library/stdtypes.html#str.split)できますいつも同じで同じ場所にいるのですか?最初に試したことを表示して、問題が発生した場合はお手伝いします: –

+0

現在のコードを共有してください – MT21

答えて

0

PythonがCSVファイルを処理するための別のモジュールがあります。それを使用する方法の詳細については、

インポートCSV

、私はpython.orgに行くお勧めしますウェブサイトそこでは、あなたがそれを使う方法について必要なものすべてを見つけるでしょう。

関連する問題