需求:
1、把txt文件的内容变成list
2、然后写入excel中
txt文件内容
IP.txt
192.168.199.201,4C8G,200G
192.168.199.202,4C8G,200G
192.168.199.203,4C8G,200G
192.168.199.204,4C8G,200G
192.168.199.205,4C8G,200G
192.168.199.206,4C8G,200G
192.168.199.207,4C8G,200G
192.168.199.208,4C8G,200G
192.168.199.209,4C8G,200G
192.168.199.210,4C8G,200G
代码如下
# -*- coding: UTF-8 -*-
import re
import xlsxwriter # 特别适合写入数据
#########################################################
f_txt = 'C:\\Users\\可燃冰\\Desktop\\IP.txt'
f_xlsx = 'C:\\Users\\可燃冰\\Desktop\\IP.xlsx'
#########################################################
# txt内容转化成list
data = []
with open(f_txt, 'r') as f:
for line in f:
line = line.strip('\n')
if line:
# 这里的分隔符要和txt中的一致,不然会变成一个元素
line = re.split(',', line)
data.append(line)
#########################################################
# 工作薄 && 工作页
wb = xlsxwriter.Workbook(f_xlsx)
ws = wb.add_worksheet('机器信息')
# bold:黑体
bold = wb.add_format({'bold': 1})
# 表头
ws.write('A1', 'IP', bold)
ws.write('B1', 'SPECIFICATION', bold)
ws.write('C1', 'DISK', bold)
# 定义起始行和列为0, 第一行第一列
row = 1
col = 0
#########################################################
# 循环写入文件
for num in range(len(data)):
#write_row()方法可以用于向单元格一次性写入一个列表的数据
ws.write_row(row, col, data[num])
row += 1
# 关闭文件流
wb.close()
#########################################################
结果:
生成的文件
文件内容,这里的列间距我拉开乐一下: