2017-05-07 13 views
0

私はPythonには本当に新しく、現在私の仕事でこれをやっています。初心者向けの質問をしたい。Excelファイルの列にPythonテキストファイルの文字列を入力する

私はこのフォーマットを、以下の行数のテキストファイルがあります。

は、すべてのフォームで泳ぎ、液化、流動性、liquidness、液体、liquid_state、滑らかで、流暢な、透明な、流体

を溶融しました弦の

私はこれらの文字列を次の形式でエクセルファイルに抽出したいと思います。文字列の各セットは別々の列にあります。

 |  A |  B  |  C 
------------------------------------------------------ 
    1 | melted  | swimming  | liquified 
------------------------------------------------------ 
    2 | liquidity | liquidness | liquid 

私のコードは次のとおりです。

import pandas as pd 
from nltk.corpus import wordnet 
import xlwt 
import xlrd 

synonyms = [] 
for syn in wordnet.synsets('liquid'): 
    for l in syn.lemmas(): 
     synonyms.append(l.name()) 
     A = set(synonyms) 
     A = list(A) 
     A = ', ' .join(str(e) for e in A) 
#print(A) 
with open('Output.txt', 'w') as file: 
    print(A) 
    file.write(A) 
    file.close() 

data = [] 
with open("Output.txt") as f: 
    for line in f: 
     data.append([word for word in line.split(" ") if word]) 
print(data) 

wb = xlwt.Workbook() 
sheet = wb.add_sheet("New Sheet") 
for row_index in range(len(data)): 
    for col_index in range(len(data[row_index])): 
     sheet.write(row_index, col_index, data[row_index][col_index]) 

wb.save("newSheet.xls") 

をしかし、私は私のコードを実行すると、出力が期待されていないよう。

 |  A |  B  |  C 
------------------------------------------------------ 
    1 | melted, swimming, liquified, liquidity, liquidness, liquid 
------------------------------------------------------ 
    2 |    |    | 

私のコードにはどのような問題がありますか?

答えて

0

質問:私は次の形式でExcelファイルに

 |  A  |  B  |  C 
--------------------------------------------------- 
    1 | melted  | swimming  | liquified 

三つの言葉1行でが、あなたの質問・データによると、あなたにこれらの文字列を抽出したいのですが1つのテキスト行にの6語があります。

出力を再現できません!

1 | melted, swimming, liquified, liquidity, liquidness, liquid 

これは私のために働いている:

のPythonでテスト
one_line_of_data = "melted, swimming, liquified, liquidity, liquidness, liquid\n" 

for line in f: 
    liw = [word.strip() for x,word in enumerate(line.split(","))] 
    data.append(liw[:3]) 
    data.append(liw[3:]) 

for row_index in range(len(data)): 
    for col_index in range(len(data[row_index])): 
     sheet.write(row_index, col_index, data[row_index][col_index]) 

:3.4.2

関連する問題