多语言展示
当前在线:548今日阅读:103今日分享:49

python使用openpyx 将xlsx导出为csv

使用python的openpyxl模块,提取excel里的内容,并导出为csv文件。
工具/原料
1

python3

2

openpyxl模块

方法/步骤
1

安装openpyxl模块,直接使用pip3安装pip3 install openpyxl

2

打开python文件编辑器创建一个.py文件

3

这个表格是我随便弄出来的一个课表,代码参照以上课表

4

开始写代码:from  openpyxl import load_workbookcsv_name='text.csv'#一个待写入的文件csv_file_name=open(csv_name,'w')#w为写入模式file_name='test.xlsx'  #xlsx的文件名,这里与.py的文件同目录所以没加路径wb = load_workbook(file_name,'r')#加载这个xlsx文件#获取表名,返回的是一个列表ws=wb.get_sheet_names()#设置shheet1为工作组ws_ws = wb.get_sheet_by_name(ws[0])'''遍历C4-G11的表格,获取其中的内容,默认是先行后列,以下代码块实现的是将指定单元格的内容按行写入到csv文件中'''for row in ws_ws['C4:G11']:       for cell in row:             if cell.value==None:            continue        else:            csv_file_name.write(cell.value+'\n')csv_file_name.close()该代码实现的效果如下图

5

以下为遍历星期一的上课内容的代码块,非完整代码比如在C4格的值为:”  网络技术☆◇4-6,9-17(9,10)◇计算机162  ◇德玛西亚”我们只要其中的课程网络技术,和班级:计算机162这两个内容,那么我们可以分割单元格的值得到。代码如下:

6

#获取C4-C11每个单元格的内容,并用◇作为标志分割成了四部分。for row in ws_ws['C4:C11']:    for cell in row:        if cell.value==None:            continue        else:            (lesson,weeks,my_class,teacher)=(cell.value).split('◇',3)           print(lesson,teacher)#打印课程,和老师这两项

注意事项

本人第一次发经验,可能排版不行。我这里也只是简单的介绍了下这个内容。有问题的话可以联系我

推荐信息