Python:读取txt中按列分布的数据,并将结果保存在Excel文件中 && 保存每一行的元素为list

import xlwt
import os 

def write_excel(words,filename): #写入Excel的函数,words是数据,filename是文件名
    wb=xlwt.Workbook()
    sheet=wb.add_sheet('sheet1')
    attr=['词语','词性','词频'] #第一行:属性行
    for col in range(3):
        sheet.write(0,col,attr[col])

    for row in range(1,len(words)+1):#数据行
        for col in range(3):
            sheet.write(row,col,words[row-1][col])

    wb.save(filename+'.xls')#保存


if __name__=='__main__':
    
    filename,extension=os.path.splitext('词语.txt') #分为文件名和后缀
    
    with open('词语.txt','r') as f: #打开txt文件
      s=[line.strip().split()for line in f.readlines()]#strip去掉每行末尾的换行符;用split对每行进行分割,得到只包含数据不含空格的List
    write_excel(s,filename)

结果:

 

补充:读取txt中按列分布的数据,并将每一行保存为一个tuple

with open('data.txt','r') as f:
     words=f.readlines(1000)#前1000行
     words=[line.strip().split() for line in words]#消除换行符 消除空格 保存为(词语,词性,词频)的list形式

不要写为:

f.readlines().strip()

因为f.readlines()的结果是list而不是str;如果是f.read()则可以用上述方式,因为f.read()将读进来的数据保存为string

posted @ 2021-01-29 15:00  ShineLe  阅读(1037)  评论(0)    收藏  举报