<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
先有個很樸素的生成和解析的方法。
生成:
data = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ] for cow in data: print(','.join(map(str, cow)))
生成結果:
1,2,3
4,5,6
7,8,9
解析
s = """1,2,3 4,5,6 7,8,9 """ cows = s.splitlines() data = [] for cow in cows: items = cow.split(',') data.append(items) # data # [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
但是顯示的資料可能不這麼理想,比如其中的某一項有 ,
的時候就會有問題了。
CSV 中有幾個概念需要先了解下。CSV 雖然是 Comma-separated values 但並不一定用逗號來分隔,也可以用其他的來分隔。同時 CSV 也沒有一個明確的規範。
從 Python 的 csv 的檔案中看到的一些關鍵術語:
delimiter
,最基本的分隔符
quotechar
,如果某個 item 中包含了分隔符,應該用 quotechar 把它包裹起來
doublequote
,如果某個 item 中出現了 quotechar 那麼可以把整個內容用 quotechar 包裹,並把 quotechar double 一下用來做區分
escapechar
,如果不用 doublequote 的方法還可以用 escapechar 來輔助
lineterminator
,每一行的結束符,預設的是 rn
quoting
,可以選擇任何時候都使用 quotechar 來包裹內容,或者是需要用到的時候再用,或者不用
skipinitialspace
,是否忽略分隔符後面跟著的空格
strict
,這個是 Python 自己的,是否拋要異常
(上面的可能沒有覆蓋所有的細節,但大概就是這樣的情況)
13.1. csv — CSV File Reading and Writing — Python 2.7.12 documentation
很簡單的例子就是
import csv with open('some.csv', 'rb') as f: reader = csv.reader(f) for row in reader: print row
import csv with open('some.csv', 'wb') as f: writer = csv.writer(f) writer.writerows(someiterable)
另外這裡面有個 dialect 的概念,就是用一個 dialect 來定義上面提到的那些解析規則。
可以自己註冊(csv.register_dialect
)、列出所有的(csv.list_dialects
)、獲取某個(csv.get_dialect
)。
預設是用逗號分隔的 excel
的 dialect,所以如果沒有特殊情況應該直接使用預設值就夠了。
這次先只把基本概念瞭解下,後面可能還有檔案編碼之類的坑,到時遇到了再回來更新。
參考
PEP 305 -- CSV File API | Python.org
13.1. csv — CSV File Reading and Writing — Python 2.7.12 documentation
以上就是Python CSV 檔案解析和生成方法範例的詳細內容,更多關於Python CSV檔案解析生成的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45