python读取和生成excel文件

今天来看一下如何使用python处理excel文件,处理excel文件是在工作中经常用到的,python为我们考虑到了这一点,python中本身就自带csv模块。

1.用python读取csv文件

csv是逗号分隔符格式 一般我们用的execl生成的格式是xls和xlsx  直接重命名为csv的话会报错:

Error: line contains NULL byte

insun解决方案:出错原因是直接是把后缀为xls的execl文件重命名为csv的 正常的要是另存为csv文件 就不会报错了

譬如我们有这么个csv文件:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

 

import csv

with open(‘egg.csv‘,‘rb‘) as f:

reader = csv.reader(f)

for row in reader:

print row

打印出来是这样的list

[‘a‘, ‘1‘, ‘1‘, ‘1‘]

[‘a‘, ‘2‘, ‘2‘, ‘2‘]

[‘b‘, ‘3‘, ‘3‘, ‘3‘]

[‘b‘, ‘4‘, ‘4‘, ‘4‘]

[‘b‘, ‘5‘, ‘5‘, ‘5‘]

[‘b‘, ‘6‘, ‘6‘, ‘6‘]

[‘c‘, ‘7‘, ‘7‘, ‘7‘]

[‘c‘, ‘8‘, ‘8‘, ‘8‘]

[‘c‘, ‘9‘, ‘9‘, ‘9‘]

[‘c‘, ‘10‘, ‘10‘, ‘10‘]

[‘d‘, ‘11‘, ‘11‘, ‘11‘]

[‘e‘, ‘12‘, ‘12‘, ‘12‘]

[‘e‘, ‘13‘, ‘13‘, ‘13‘]

[‘e‘, ‘14‘, ‘14‘, ‘14‘]

2.用python写入并生成csv

#!/usr/bin/env python

# -*- coding:utf-8 -*-

 

import csv

with open(‘egg2.csv‘, ‘wb‘) as csvfile:

spamwriter = csv.writer(csvfile, delimiter=‘ ‘,quotechar=‘|‘, quoting=csv.QUOTE_MINIMAL)

spamwriter.writerow([‘a‘, ‘1‘, ‘1‘, ‘2‘, ‘2‘])

spamwriter.writerow([‘b‘, ‘3‘, ‘3‘, ‘6‘, ‘4‘])

spamwriter.writerow([‘c‘, ‘7‘, ‘7‘, ‘10‘, ‘4‘])

spamwriter.writerow([‘d‘, ‘11‘,‘11‘,‘11‘, ‘1‘])

spamwriter.writerow([‘e‘, ‘12‘,‘12‘,‘14‘, ‘3‘])

这样存进去的是存到一列了 跟我们原本意图存进5列不一样

使用python的csv生成excel所兼容的csv文件的话,主要就是创建writer时的参数时要有dialect=’excel’

代码修改为:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

 

import csv

with open(‘egg2.csv‘, ‘wb‘) as csvfile:

spamwriter = csv.writer(csvfile,dialect=‘excel‘)

spamwriter.writerow([‘a‘, ‘1‘, ‘1‘, ‘2‘, ‘2‘])

spamwriter.writerow([‘b‘, ‘3‘, ‘3‘, ‘6‘, ‘4‘])

spamwriter.writerow([‘c‘, ‘7‘, ‘7‘, ‘10‘, ‘4‘])

spamwriter.writerow([‘d‘, ‘11‘,‘11‘,‘11‘, ‘1‘])

spamwriter.writerow([‘e‘, ‘12‘,‘12‘,‘14‘, ‘3‘])

时间: 2024-12-26 19:26:54

python读取和生成excel文件的相关文章

使用PHP Excel类读取和生成excel文件

使用PHP来生成Excel的方法有很多,比如使用最简单的回车符,制表符来生成,或者直接使用html 的table格式,但这些方式兼容性都有所欠缺.测试了一下PHPExce类,发现太l强大了,可以输出非常复杂的excel表格,另外说一下还可以读取 Excel文件.闲话少说,放出简要代码: <?php require_once './Classes/PHPExcel.php'; $objExcel = new PHPExcel();   $objWriter = new PHPExcel_Write

python之openpyxl生成excel文件

项目需要,需要自动生成PDF测试报告.经过对比之后,选择使用了reportlab模块. 项目背景:开发一个测试平台,供测试维护测试用例,执行测试用例,并且生成测试报告(包含PDF和excel),将生成的测试报告以邮件的形式发送相关人. excel生成代码如下: from openpyxl import load_workbook from openpyxl.styles import Font, Alignment, Side, Border import shutil # 生成测试计划的exc

Python读取和写入Excel文件

制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为sheet1 Add_format():创建一个新的格式对象来格式化单元格,例如bold=workbook.add_format({'bold':True}) 还可以使用set_bold,例如:bold=workbook.add_format() bod.set_bold() #border:边框,

Python xlrd、xlwt、xlutils读取、修改Excel文件

Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文件. 首先,打开workbook:    import xlrdwb = xlrd.open_workbook('myworkbook.xls') 检查表单名字:    wb.sheet_names() 得到第一张表单,两种方式:索引和名字    sh = wb.sheet_by_index(0)s

读取Excel二进制写入DB,并从DB中读取生成Excel文件

namespace SendMailSMSService { class Program { static void Main(string[] args) { var connString = SqlDataHelper.GetConnectionString<FileContent>(); //读取Excle文件并写入表中 var bytes = File.ReadAllBytes("a.xlsx"); var entity = new FileContent { Fi

使用python在WEB页面上生成EXCEL文件

来自:http://blog.sina.com.cn/s/blog_5d18f85f0101bxo7.html 近日写的一个程序需要在WEB服务器上生成EXCEL文件供用户下载,研究了一下找到了以下比较可行的实现方案,下面以web.py为例,把相关代码贴出来供大家参考: 首先需要下载生成EXCEL的模块,推荐使用xlwt import xlwt import StringIO import web urls = ( '/rim_request','rim_request', '/rim_expo

Java生成Excel文件

1.设计源码 /** * * @title:ExcelUtils.java * @Package:com.you.utils * @Description:<h3>一句话描述功能</h3> * @author:游海东 * @date:2015-3-21下午10:17:34 * @version V1.0 * */ package com.you.utils; import java.io.File; import java.io.IOException; import jxl.Wo

HSSFWorkbook生成excel文件

1.使用org.apache.poi.hssf.usermodel.HSSFWorkbook生成excel文件,HSSFWorkBook的构造法方法很多,可以直接通过new关键字创建一个WorkBook即对应一个excel文件,更多构造方法请参阅:http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html 2.excel具体创建过程 //创建一个excel HSSFWorkbook wb = new

XLSTransformer生成excel文件简单演示样例

项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.jxls.exception.ParsePropertyExcep