123456acD 发表于 2020-7-25 09:49

使用python将txt文件转换成xlsx文件

import xlwt                     #需要的模块
def txt_xls(filename,xlsname):   
    """    :文本转换成xls的函数   
    :param filename txt文本文件名称、
    :param xlsname 表示转换后的excel文件名
    """   
   
    try:      
      f = open(filename,encoding = 'utf-8')
      xls=xlwt.Workbook()      
      #生成excel的方法,声明excel      
      sheet = xls.add_sheet('sheet1',cell_overwrite_ok=True)      
      x = 0      
      while True:            
            #按行循环,读取文本文件         
            line = f.readline()            
            if not line:               
                break#如果没有内容,则退出循环            
            for i in range(len(line.split('\t'))):               


                item=line.split('\t')               
                sheet.write(x,i,item)
                #x单元格经度,i 单元格纬度         
            x += 1 #excel另起一行      
      f.close()      
      xls.save(xlsname)
      #保存xls文件   
    except:      raise
if __name__ == "__main__" :   
    filename = "D:/TXT文件/all.txt"
    xlsname= "D:/TXT文件/all2.xlsx"
    txt_xls(filename,xlsname)

kof21411 发表于 2020-7-25 10:57

为什么不把代码放到代码块方便大家阅读呢

import xlwt                     #需要的模块
def txt_xls(filename,xlsname):   
    """    :文本转换成xls的函数   
    :param filename txt文本文件名称、
    :param xlsname 表示转换后的excel文件名
    """   
   
    try:      
      f = open(filename,encoding = 'utf-8')
      xls=xlwt.Workbook()      
      #生成excel的方法,声明excel      
      sheet = xls.add_sheet('sheet1',cell_overwrite_ok=True)      
      x = 0      
      while True:            
            #按行循环,读取文本文件         
            line = f.readline()            
            if not line:               
                break#如果没有内容,则退出循环            
            for i in range(len(line.split('\t'))):               


                item=line.split('\t')               
                sheet.write(x,i,item)
                #x单元格经度,i 单元格纬度         
            x += 1 #excel另起一行      
      f.close()      
      xls.save(xlsname)
      #保存xls文件   
    except:      raise
if __name__ == "__main__" :   
    filename = "D:/TXT文件/all.txt"
    xlsname= "D:/TXT文件/all2.xlsx"
    txt_xls(filename,xlsname)

林夕言 发表于 2020-7-25 15:29

fanvalen 发表于 2020-7-25 11:17
txt内格式是啥样的呢,我看只是把一行一行写到表,没啥卵用。
如果有空格 tab;-“”之类分割符怎么处理复 ...

可以使用 re 模块做特殊字符替换.

az12az 发表于 2020-7-25 10:30

学习,交流。

rbj520 发表于 2020-7-25 10:35

過來學習下,謝謝分享{:1_921:}{:1_921:}

stnst07 发表于 2020-7-25 10:43

学习下,感谢分享

lin521z 发表于 2020-7-25 10:47

代码简洁 很实简单 谢谢分享

tydx0259 发表于 2020-7-25 10:59

谢谢楼主,辛苦了,

minoa 发表于 2020-7-25 11:09

感谢楼主分享。

张飞吃屁 发表于 2020-7-25 11:13

正在学习中,感谢分享了

fanvalen 发表于 2020-7-25 11:17

txt内格式是啥样的呢,我看只是把一行一行写到表,没啥卵用。
如果有空格 tab;-“”之类分割符怎么处理复杂内容。
页: [1] 2
查看完整版本: 使用python将txt文件转换成xlsx文件