python txt转换成excel_python txt装换成excel

这篇博客介绍了一个Python脚本,用于将多个TXT数据文件转换为Excel格式。脚本需要一个表头文件来定义Excel表格的结构,并且支持自定义列宽。它使用xlwt库创建工作簿,并通过读取TXT文件内容填充到对应的Excel表格中。
摘要由CSDN通过智能技术生成

工作中,我们需要经常吧一些导出的数据文件,例如sql查出来的结果装换成excel,用文件发送。这次为大家带上python装换excel的脚本

记得先安装wlwt模块,适用版本,python2-3

#coding=utf-8

#!/usr/bin/python

#AUTHOR=ELSON

import xlwt,io,os,sys

"""

运行指令

python name.py 表头文件 分隔符 导入的文件名(可多个)

fx: python srcipt_excel.py head.txt # aa.txt bb.txt cc.txt

cat head.txt (格式='表名,字段1:列宽,字段2:列宽')

第一行:xls保存名字.xls

第二行:sheet1,姓名:20,年龄:10,成绩:10

第三行:sheet2,姓名:20,年龄:10,成绩:10

"""

#表头文件

head = sys.argv[1]

#separator分隔符

separator = sys.argv[2]

#文件名

source_path = sys.argv[3:]

##文件输出路径

execl_path = './'

#条件判断

head_len=len(open(head,'r').readlines()) -1

txt_len=len(source_path)

if head_len != txt_len:

print('ERROR 表头文件行数 % 不等于 需要转换excel的文件数 %s ,程序退出!' %(head_len,txt_len))

exit()

xls=xlwt.Workbook(encoding='utf-8')

def setsttle(color=1,blod=False,): #1=白 #5=黄

style = xlwt.XFStyle() # 创建一个样式对象,初始化样式

#边框

borders = xlwt.Borders()

borders.left = 1

borders.left = xlwt.Borders.THIN

borders.right = 1

borders.top = 1

borders.bottom = 1

# 定义格式

style.borders = borders

# 设置背景颜色

pattern = xlwt.Pattern()

# ���置背景颜色的模式

pattern.pattern = xlwt.Pattern.SOLID_PATTERN

# 背景颜色

pattern.pattern_fore_colour = color

style.pattern = pattern

#队列格式

al = xlwt.Alignment()

al.horz = 0x02 # 设置水平居中

al.vert = 0x01 # 设置垂直居中

style.alignment = al

#字体

font = xlwt.Font()

# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁

#font.name = "仿宋"

font.bold = blod

style.font = font

return style

#写入excel

def write_excel(head,separator,txt_name):

"""

:param head: 头部文件

:param separator: 分隔符

:param txt_name: 装换成excel的txt文件[列表]

:return:

"""

default = setsttle(5,True)

default2 = setsttle()

# 表头

sheet_num = 0

with open(head, 'r') as f:

global xls_name

xls_name = f.readline().strip()

while True:

x = 1

ii = 0

line = f.readline().strip().replace(' ','').split(',')

if not line[0]:

break

sheet = xls.add_sheet(line[0])

for head in line[1:]:

heads=head.split(':')

sheet.write(0,ii,heads[0],default)

sheet.col(ii).width = 265 * int(heads[1])

ii += 1

# 表体

txt_file = io.open(txt_name[sheet_num], mode='r', encoding='UTF-8')

while True:

line = txt_file.readline()

if not line:

break

for i in range(len(line.split(separator))):

item = line.split(separator)[i]

sheet.write(x, i, item, default2)

x += 1

txt_file.close()

sheet_num += 1

xls.save(os.path.join(execl_path, xls_name))

#主体写入

if __name__ == '__main__':

write_excel(head,separator,source_path)

#保存excel

print('success')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python编写脚本来批量将txt文件转换成Excel文件。具体实现方法可以使用Python内置的csv模块来读取txt文件,然后使用pandas模块将数据转换成Excel格式并保存。需要注意的是,不同的txt文件可能有不同的分隔符和编码方式,需要根据实际情况进行调整。 ### 回答2: Python是一种高级编程语言,广泛应用于数据分析、科学计算、人工智能等领域,因其熟悉的语法、易于学习和强大的生态系统而备受青睐。在实际工作中,我们常常需要将文本文件转换成Excel表格,以便更好地进行数据分析和可视化。下面将介绍如何使用Python批量将TXT文件转换成Excel文件。 1. 准备工作 首先,我们需要安Python的相关库,包括pandas和openpyxl。可以使用pip或conda安: ``` pip install pandas openpyxl ``` 2. 读取TXT文件 使用pandas库中的read_csv函数读取TXT文件,对于分隔符不是逗号的情况,可以指定分隔符。例如,假设我们要读取一个以制表符分隔的TXT文件: ``` import pandas as pd df = pd.read_csv('example.txt', sep='\t') ``` 其中,example.txt文件名,\t是指制表符,df是pandas DataFrame对象,用于保存TXT文件中的数据,可以进行各种数据处理、分析和可视化。 3. 写入Excel文件 使用openpyxl库中的Workbook和Worksheet类创建Excel文件和工作表,使用pandas库中的to_excel函数将DataFrame对象写入Excel文件。例如,假设我们要将数据写入一个名为example.xlsx的Excel文件: ``` from openpyxl import Workbook from openpyxl.utils.dataframe import dataframe_to_rows wb = Workbook() ws = wb.active for r in dataframe_to_rows(df, index=False, header=True): ws.append(r) wb.save('example.xlsx') ``` 其中,Workbook是创建Excel文件的类,active是默认工作表,dataframe_to_rows将DataFrame对象转换成可迭代的行对象,然后将它们逐行添加到Excel工作表中。我们还可以指定是否包含索引和表头,以及对行进行筛选、排序、分组等操作。 4. 批量转换 我们可以使用Python内置的os库遍历文件夹中的所有TXT文件,并对它们进行批量转换,将结果保存到一个目录中。例如,假设所有的TXT文件都在同一个目录下,我们可以这样处理: ``` import os indir = '/path/to/indir' outdir = '/path/to/outdir' for root, dirs, files in os.walk(indir): for file in files: if file.endswith('.txt'): df = pd.read_csv(os.path.join(root, file), sep='\t') wb = Workbook() ws = wb.active for r in dataframe_to_rows(df, index=False, header=True): ws.append(r) wb.save(os.path.join(outdir, file.replace('.txt', '.xlsx'))) ``` 其中,indir是包含TXT文件的目录路径,outdir是保存Excel文件的目录路径。os.walk遍历目录树,files是当前目录下的文件列表,如果文件以.txt结尾,则读取数据,将其转换成Excel格式,并将结果保存到目标目录中,文件名以.xlsx结尾。 以上是使用Python批量将TXT文件转换成Excel文件的基本方法。实际应用中,我们还需要考虑文件编码、缺失值、异常值、数据类型转换等问题,以确保数据质量和可靠性。 ### 回答3: Python 是一种简单易学、功能强大的编程语言,它可以用来编写各种各样的程序,包括批量将 txt 文本文件转换成 Excel 表格。要完成这项任务,我们可以借助 Python 的第三方库,例如 Pandas。 Pandas 是一个数据处理库,它提供了丰富的数据结构和数据分析工具。在 Python 中使用 Pandas 将 txt 转换成 Excel 非常简单,只需要按照以下步骤操作: 第一步:安 Pandas 在命令行中输入以下命令安 Pandas: pip install pandas 第二步:导入 Pandas 在 Python 脚本中导入 Pandas: import pandas as pd 第三步:读取 txt 文件 使用 Pandas 中的 read_csv 函数读取 txt 文本文件,并将其存储为 DataFrame 对象: df = pd.read_csv('file.txt', sep='\t') 其中,file.txt 是要读取的 txt 文件名,sep='\t' 表示文件中的字段是由 Tab 键分割的。 第四步:将 DataFrame 对象转换成 Excel 使用 Pandas 中的 to_excel 函数将 DataFrame 对象转换成 Excel: df.to_excel('file.xlsx', index=False) 其中,file.xlsx 是要写入的 Excel 文件名,index=False 表示不写入索引列。 最后,将以上代码整合到一个 Python 脚本中,就可以批量将 txt 文件转换成 Excel 了。如果要批量操作,只需要在脚本中添加循环,对每一个 txt 文件进行转换即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值