繁体   English   中英

Python文本文件串转换为Excel文件中的列

[英]Python text file strings into columns in Excel file

我是Python的新手,目前正在为我的工作做这件事。 我想问一些新手问题。

我有一个文本文件,其中包含以下格式的行数:

融化,游泳,液化,流动性,流动性,液体,liquid_state,光滑,流利,清澈,流体

全部是字符串形式。

我想以下列格式将这些字符串提取到excel文件中 - 这样每个'set'字符串都在一个单独的列中。

       |        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    |             |                |

我的代码有什么问题..?

问题 :我想以下列格式将这些字符串提取到excel文件中

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

一行中有三个单词 ,但根据您的问题数据,您在一个文本行中有6个单词

无法重现您的输出

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

这对我有用:

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])

用Python测试:3.4.2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM