Python csv转换为excel学习笔记:
openpyxl模块需要安装pip install openpyxl
import openpyxl
import csv
'''读取csv文件写入excel表格'''
#创建工作簿对象
work_book = openpyxl.Workbook()
#创建sheet
work_sheet = work_book.create_sheet(title=u"cpu和内存")
#打开csv文件,没有异常捕获,没有定义成函数,做成模块更好
csvfile = open('20170615.csv','rb')
#获取csv.reader
lines = csv.reader(csvfile)
#row
row = 1
#sheet第一行,就叫他标题吧
title_list=[u'采集时间',u'主机',u'CPU使用率(%)',u'MEM使用率(%)']
#写入第一行,标题
for i in range(1,title_len+1):
work_sheet.cell(row = row, column = i).value = title_list[i-1]
#从第二行开始写入从csv读取的内容
for line in lines:
lin = 1
for i in line:
work_sheet.cell(row = row +1, column = lin).value = i
lin += 1
row += 1
#关闭文件
csvfile.close()
#保存工作表
work_book.save('20170615_cpu.xlsx')
下面是一个Excel转csv的代码,网上借鉴,可以直接作为模块使用:
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel(excel_file):
workbook = xlrd.open_workbook(excel_file)
all_worksheets = workbook.sheet_names()
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name(worksheet_name)
your_csv_file = open(''.join([worksheet_name,'.csv']), 'wb')
wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL)
for rownum in xrange(worksheet.nrows):
wr.writerow([unicode(entry).encode("utf-8") for entry in worksheet.row_values(rownum)])
your_csv_file.close()
if __name__ == "__main__":
csv_from_excel(sys.argv[1])
浙公网安备 33010602011771号