python dialect='excel'是什么意思_python读取和生成excel文件
今天來(lái)看一下如何使用python處理excel文件,處理excel文件是在工作中經(jīng)常用到的,python為我們考慮到了這一點(diǎn),python中本身就自帶csv模塊...
今天來(lái)看一下如何使用python處理excel文件,處理excel文件是在工作中經(jīng)常用到的,python為我們考慮到了這一點(diǎn),python中本身就自帶csv模塊。
1.用python讀取csv文件:
csv是逗號(hào)分隔符格式 一般我們用的execl生成的格式是xls和xlsx 直接重命名為csv的話會(huì)報(bào)錯(cuò):
Error: line contains NULL byte
insun解決方案:出錯(cuò)原因是直接是把后綴為xls的execl文件重命名為csv的 正常的要是另存為csv文件 就不會(huì)報(bào)錯(cuò)了
譬如我們有這么個(gè)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
打印出來(lái)是這樣的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'])
這樣存進(jìn)去的是存到一列了 跟我們?cè)疽鈭D存進(jìn)5列不一樣
使用python的csv生成excel所兼容的csv文件的話,主要就是創(chuàng)建writer時(shí)的參數(shù)時(shí)要有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'])
總結(jié)
以上是生活随笔為你收集整理的python dialect='excel'是什么意思_python读取和生成excel文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: idea 如何查看jdk源码
- 下一篇: python棋盘最短路径_【leetco