解决CSV文件转化EXCEL-Python高效办公系列(.xlsx)
解决CSV文件转化EXCEL-Python高效办公系列(.xlsx)
- 解决CSV文件转化EXCEL-Python高效办公系列(.xlsx)
- 问题引入
- 解决问题
- 运行环境
- 基本思路
- 代码
- 结尾
解决CSV文件转化EXCEL-Python高效办公系列(.xlsx)
问题引入
系统导出的数据大多是CSV格式的文件,对于大量的CSV文件的对比。由于CSV没有EXCEL中Sheet的概念,所以一定需要逐一打开每一个CSV文件比对内容。如果可以将CSV文件都合成到一个Excel文件中,就非常方便。
解决问题
运行环境
语言:Python 3.0以上
使用库:
- os
- csv
- re
- openpyxl
基本思路
代码
# -*- coding: utf-8 -*- import os
import csv
import re
from openpyxl import Workbook# 给出Sheet名的命名规则(非必须)
pattern = re.compile(r'[\d]+_[\d]+_[\d]+')#CSV文件所在路径
dir = r'C:\CsvFolder'
os.chdir(dir)#创建一个XLSE文件
wb = Workbook()#遍历CSV文件路径
for i in os.listdir(dir):dirpath = os.path.join(dir,i)if i.endswith('.csv'):print(i.split('.csv')[0])ws = wb.create_sheet(pattern.search(i.split('.csv')[0]).group()) #插入到最后(default)_file = open(i,'r',encoding='UTF-8')ls = []#转化当前的CSV文件内容 for line in _file:# line.replace('\t', ',') #将Tab转化为","# line.replace('\n',',') #将换行符转化为","#将"转化为空line = line.replace('\"','') #将数据以逗号隔开加入listls.append(line.split(','))print(ls);#将对应位置的数据填入EXCEL的Sheet的表格中for i in range(len(ls)):for j in range(len(ls[i])):ws.cell(row=i+1,column=j+1).value=ls[i][j]#保存转化后的EXCEL文件wb.save('1.xlsx')
结尾
点滴积累,方成大器。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
