python简单操作csv文件小例

作者: loading_miracle | 来源:发表于2017-05-01 20:42 被阅读0次

    <strong>看了老哥Mr_Cxypython对Mysql数据库的操作小例感觉很赞,所以就有了这个操作csv的小例(也是想练习一下类的操作)

    csv可以比较方便的在不同应用之间迁移数据。可以将数据批量导出为csv格式,然后倒入到其他应用程序中。很多应用中需要导出报表,也通常用csv格式导出,然后用Excel工具进行后续编辑。现在我们就简单的去创建一个csv文件</strong>

    csv文件

    csv文件主要由行和列组成,每一行含有若干个字段,每一列对应首行字段填充相对应的值,根据这个结构,调用csv模块去创建一个csv文件并写入数据。

    csv文件结构

    实例代码:store_csv.py

    # -*- coding:utf-8 -*-
    import csv
    import os
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    
    class CSV(object):
        #初始化两个参数,csv_name文件路径+文件名,另一个是第一行每一列的字段名
        def __init__(self, csv_name, firstRow=[]):
            self.name = csv_name
            #判断.csv文件是否存在,存在则退出程序,然后需要在主代码更换文件名
            #这一块后续可以改进
            if os.path.exists(csv_name):
                print '文件已存在,请更换文件名'
                os._exit(1)
            with open(self.name, "ab+") as files:
                write = csv.writer(files)
                write.writerow(firstRow)
        #row写入行每一列的数据
        def writeRow(self,row=[]):
            with open(self.name, "ab+") as files:
                write = csv.writer(files)
                write.writerow(row)
    

    样例操作(更改python爬虫——拉钩网职位(scrapy)pipeline.py存储csv文件部分,单线程同样替换写文件部分即可)

    pipeline.py

    # -*- coding:utf-8 -*-
    from store_csv import CSV
    
    class LagouzpPipeline(object):
        #写文件
        def __init__(self):
            firstRow = ['职位名称', '公司名称', '城市', '公司规模', '公司类型', '月薪', '行业领域', 'firstType', 'senondType', '工作经历', '学历', '发布时间']
            self.write = CSV('lagou.csv', firstRow)
    
        def process_item(self, item, spider):
            row = [item['name'], item['city'], item['company_name'], item['size'], item['financeStage'],item['salary'], item['industryField'], item['firstType'],item['secondType'],item['workYear'],item['edu'],item['time']]
            self.write.writeRow(row)
            return item
    

    <strong>可能在遇到文件存在的情况上处理的过于简单化,大家可以留言评论共同完善。</strong>

    相关文章

      网友评论

        本文标题:python简单操作csv文件小例

        本文链接:https://www.haomeiwen.com/subject/bjrqtxtx.html