python讀取和產生excel檔案

來源:互聯網
上載者:User
今天來看一下如何使用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 csvwith 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 csvwith 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 csvwith 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'])
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.