分享

Python常用库

 imelee 2016-12-10
csv可以比较方便的在不同应用之间迁移数据。可以将数据批量导出为csv格式,然后倒入到其他应用程序中。很多应用中需要导出报表,也通常用csv格式导出,然后用Excel工具进行后续编辑。
import csv 
  # dialect是访问csv文件时需要指定的参数之一,用来确定csv文件的数据格式
# 下面这个函数列举系统支持的dialect有哪些,默认值是'excel',用户也可 
# 以从Dialect派生一个类,使用该类的实例作为dialect参数。 print csv.list_dialects() 


  def test_writer():
           # csv文件必须以二进制方式open
          with open('eggs.csv', 'wb') as csvfile:
                 spamwriter = csv.writer(csvfile) 
                  spamwriter.writerow(['Spam'] * 5 + ['Baked Beans']) 
                   spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 


  def test_reader(): 
            with open('eggs.csv', 'rb') as csvfile: 
                   spamreader = csv.reader(csvfile) 
                   for row in spamreader: 
                            print row
# sniffer 用来推断csv文件的格式,不是很准确 
def test_sniffer():
         with open('eggs.csv', 'wb') as csvfile: 
                  spamwriter = csv.writer(csvfile, delimiter=' ')  
                  spamwriter.writerow(['Spam'] * 2 + ['Baked Beans'])   
                   spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 


       # 通常你需要指定与写入者相同的文件格式才能正确的读取数据 
  with open('eggs.csv', 'rb') as csvfile: 
            spamreader = csv.reader(csvfile, delimiter=' ') 
           for row in spamreader: print ', '.join(row)

        # 如果不知道文件格式,sniffer就可以派上用场了 
        with open('eggs.csv', 'rb') as csvfile:
               # 用sniffer推断文件格式,从而得到dialect 
                       dialect = csv.Sniffer().sniff(csvfile.read(1024))                         print dialect.delimiter, dialect.quotechar
 
                         # 文件重新移动到头部 
                          csvfile.seek(0) 

                         # 用推断出来的dialect创建reader
                        reader = csv.reader(csvfile, dialect) for row in reader:  
                          print ', '.join(row)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多