html5/css教程

javascript教程

asp教程

php教程

jsp教程

C#/.NET教程

Python教程

网络营销

建站经验

点击排行

python实现txt在excel的.xls和.xlsx文件中的导入与导出

来源:中文源码网    浏览:559 次    日期:2024-03-29 17:16:31

python实现txt在excel的.xls和.xlsx文件中的导入与导出

1.python实现txt文件转换为excel文件(.xls;.xlsx)

----------------------------------------------------------------------------
# -*- encoding: utf-8 -*-
import xlwt #需要的模块

def txt_xls(filename,xlsname):
"""
:文本转换成xls的函数
:param filename txt文本文件名称、
:param xlsname 表示转换后的excel文件名
"""
try:
f = open(filename)
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')[i]
sheet.write(x,i,item) #x单元格经度,i 单元格纬度
x += 1 #excel另起一行
f.close()
xls.save(xlsname) #保存xls文件
except:
raise
if __name__ == "__main__" :
filename = "f:/test.txt"
xlsname  = "f:/test.xls"
txt_xls(filename,xlsname)


2.python将excel文件转换为txt文件(.xls;.xlsx)

----------------------------------------------------------------------------
#-*- coding:UTF-8 -*-
import xlrd
def strs(row):
"""
:返回一行数据
"""
try:
values = "";
for i in range(len(row)):
if i == len(row) - 1:
values = values + str(row[i])
else:
#使用“,”逗号作为分隔符
values = values + str(row[i]) + ","
return values
except:
raise
def xls_txt(xls_name,txt_name):
"""
:excel文件转换为txt文件
:param xls_name excel 文件名称
:param txt_name txt   文件名称
"""
try:
data = xlrd.open_workbook(xls_name)
sqlfile = open(txt_name, "a")
table = data.sheets()[0] # 表头
nrows = table.nrows  # 行数
#如果不需跳过表头,则将下一行中1改为0
for ronum in range(1, nrows):
row = table.row_values(ronum)
values = strs(row) # 条用函数,将行数据拼接成字符串
sqlfile.writelines(values) #将字符串写入新文件
sqlfile.close() # 关闭写入的文件
except:
pass
if __name__ == '__main__':
xls_name = 'f:/test.xls'
txt_name = 'f:/test.txt'
xls_txt(xls_name,txt_name)

精彩推荐