最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python CSV 文件解析和生成方法示例

 更新時(shí)間:2022年07月15日 08:45:13   作者:常偉佳  
這篇文章主要為大家介紹了Python CSV 文件的解析和生成方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

思路

  • 簡(jiǎn)單的生成和讀取 CSV
  • CSV 文件格式
  • 使用 csv 庫(kù)

Python with CSV

先有個(gè)很樸素的生成和解析的方法。

生成:

data = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
]
for cow in data:
    print(','.join(map(str, cow)))

生成結(jié)果:

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']]

但是顯示的數(shù)據(jù)可能不這么理想,比如其中的某一項(xiàng)有 , 的時(shí)候就會(huì)有問(wèn)題了。

CSV 格式

CSV 中有幾個(gè)概念需要先了解下。CSV 雖然是 Comma-separated values 但并不一定用逗號(hào)來(lái)分隔,也可以用其他的來(lái)分隔。同時(shí) CSV 也沒(méi)有一個(gè)明確的規(guī)范。

從 Python 的 csv 的文檔中看到的一些關(guān)鍵術(shù)語(yǔ):

delimiter,最基本的分隔符

quotechar,如果某個(gè) item 中包含了分隔符,應(yīng)該用 quotechar 把它包裹起來(lái)

doublequote,如果某個(gè) item 中出現(xiàn)了 quotechar 那么可以把整個(gè)內(nèi)容用 quotechar 包裹,并把 quotechar double 一下用來(lái)做區(qū)分

escapechar,如果不用 doublequote 的方法還可以用 escapechar 來(lái)輔助

lineterminator,每一行的結(jié)束符,默認(rèn)的是 \r\n

quoting,可以選擇任何時(shí)候都使用 quotechar 來(lái)包裹內(nèi)容,或者是需要用到的時(shí)候再用,或者不用

skipinitialspace,是否忽略分隔符后面跟著的空格

strict,這個(gè)是 Python 自己的,是否拋要異常

(上面的可能沒(méi)有覆蓋所有的細(xì)節(jié),但大概就是這樣的情況)

使用 Python 的 csv 庫(kù)

13.1. csv — CSV File Reading and Writing — Python 2.7.12 documentation

很簡(jiǎn)單的例子就是

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)

另外這里面有個(gè) dialect 的概念,就是用一個(gè) dialect 來(lái)定義上面提到的那些解析規(guī)則。

可以自己注冊(cè)(csv.register_dialect )、列出所有的(csv.list_dialects)、獲取某個(gè)(csv.get_dialect)。

默認(rèn)是用逗號(hào)分隔的 excel 的 dialect,所以如果沒(méi)有特殊情況應(yīng)該直接使用默認(rèn)值就夠了。

其他

這次先只把基本概念了解下,后面可能還有文件編碼之類(lèi)的坑,到時(shí)遇到了再回來(lái)更新。

參考

PEP 305 -- CSV File API | Python.org

13.1. csv — CSV File Reading and Writing — Python 2.7.12 documentation

以上就是Python CSV 文件解析和生成方法示例的詳細(xì)內(nèi)容,更多關(guān)于Python CSV文件解析生成的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python pyinstaller 加載ui路徑方法

    python pyinstaller 加載ui路徑方法

    今天小編就為大家分享一篇python pyinstaller 加載ui路徑方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python實(shí)現(xiàn)超快窗口截圖功能詳解

    Python實(shí)現(xiàn)超快窗口截圖功能詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)超快窗口截圖功能,可以自動(dòng)獲取當(dāng)前活動(dòng)窗口并展示截圖,感興趣的可以了解一下
    2022-05-05
  • python安裝numpy&安裝matplotlib& scipy的教程

    python安裝numpy&安裝matplotlib& scipy的教程

    下面小編就為大家?guī)?lái)一篇python安裝numpy&安裝matplotlib& scipy的教程。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Anaconda安裝以及修改環(huán)境默認(rèn)位置圖文教程

    Anaconda安裝以及修改環(huán)境默認(rèn)位置圖文教程

    Anaconda是一個(gè)用于科學(xué)計(jì)算的Python發(fā)行版,支持Linux,Mac, Windows, 包含了眾多流行的科學(xué)計(jì)算、數(shù)據(jù)分析的 Python 包,下面這篇文章主要給大家介紹了關(guān)于A(yíng)naconda安裝以及修改環(huán)境默認(rèn)位置的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • python實(shí)現(xiàn)跨進(jìn)程(跨py文件)通信示例

    python實(shí)現(xiàn)跨進(jìn)程(跨py文件)通信示例

    本文主要介紹了python實(shí)現(xiàn)跨進(jìn)程(跨py文件)通信示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python結(jié)合OpenCV和Pyzbar實(shí)現(xiàn)實(shí)時(shí)攝像頭識(shí)別二維碼

    Python結(jié)合OpenCV和Pyzbar實(shí)現(xiàn)實(shí)時(shí)攝像頭識(shí)別二維碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Python編程語(yǔ)言結(jié)合OpenCV和Pyzbar庫(kù)來(lái)實(shí)時(shí)攝像頭識(shí)別二維碼,文中的示例代碼講解詳細(xì),需要的可以參考下
    2024-01-01
  • pandas常用表連接merge/concat/join/append詳解

    pandas常用表連接merge/concat/join/append詳解

    使用python的pandas庫(kù)可以很容易幫你搞定,而且性能也是很出色的;百萬(wàn)級(jí)的表關(guān)聯(lián),可以秒出,本文給大家分享pandas常用表連接merge/concat/join/append詳解,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • PyTorch上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法

    PyTorch上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法

    本篇文章主要介紹了PyTorch上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python標(biāo)準(zhǔn)庫(kù)shutil模塊使用方法解析

    Python標(biāo)準(zhǔn)庫(kù)shutil模塊使用方法解析

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)shutil模塊使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python連接MySQL數(shù)據(jù)庫(kù)并查找表信息

    Python連接MySQL數(shù)據(jù)庫(kù)并查找表信息

    本文主要介紹了Python連接MySQL數(shù)據(jù)庫(kù)并查找表信息,通過(guò)使用Python中的MySQL Connector模塊,連接到MySQL服務(wù)器并執(zhí)行SQL查詢(xún)語(yǔ)句,可以獲取表的結(jié)構(gòu)、列信息、行數(shù)據(jù)等,感興趣的可以了解一下
    2023-08-08

最新評(píng)論

吴桥县| 石河子市| 新宾| 绥棱县| 韩城市| 城口县| 郁南县| 广宁县| 浦北县| 江津市| 利津县| 正镶白旗| 吉木乃县| 策勒县| 揭西县| 佛教| 曲靖市| 宣城市| 于田县| 理塘县| 宜春市| 临泽县| 呼玛县| 余干县| 自贡市| 库伦旗| 开鲁县| 广德县| 平远县| 介休市| 封丘县| 兰州市| 郎溪县| 东明县| 志丹县| 广南县| 泰宁县| 会理县| 庆云县| 闽清县| 叶城县|