中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中CSV文件怎么使用

發布時間:2022-07-05 11:51:54 來源:億速云 閱讀:213 作者:iii 欄目:開發技術

本篇內容介紹了“Python中CSV文件怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    一、csv文件介紹

    1、csv文件簡介

    逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。

    2、為什么要使用csv文件

    在Linux中我們可以通過命令在數據庫中把表導出來為csv結尾的文件,其實就是以逗號分割分txt文件,此文件我們可以在windows中打開并且為表格的形式,方便我們進行查看與再次操作。

    eg:

    MariaDB [test]> select * from 表名 into outfile "/tmp/test.csv" fields terminated by ",";

    二、csv文件查看

    注意:這里我是把csv文件和python代碼都放在同級目錄,否則要指定路徑!!!

    1、測試文件創建

    (1)這里我們以windows中的csv文件來做實驗

    Python中CSV文件怎么使用

    (2)我們可以選中內容復制進去,也可以上傳到linux中,這里我們選擇前者

    [root@python _test]# vim test.csv                      ###可以發現復制進去的是以空格為分隔符
    id      username        passwd  age
    1       dream1  123     21
    2       dream2  456     22
    3       dream3  789     23
    
    ### 把空格替換為逗號
    [root@python _test]# sed -i 's/\s\+/,/g' test.csv

    2、查看csv文件(列表)

    (1)讀出結果

    [root@python _test]# vim _test.py 
    #!/usr/bin/env python
    #coding:utf-8
    import csv
    with open('test.csv', encoding="utf-8") as f:
        reader = csv.reader(f)
        print(reader)
        print(list(reader))
    
    ### 查看結果
    [root@python _test]# python _test.py
    <_csv.reader object at 0x7f54d9a01eb8>
    [['id', 'username', 'passwd', 'age'], ['1', 'dream1', '123', '21'], ['2', 'dream2', '456', '22'], ['3', 'dream3', '789', '23']]

    (2)遍歷(從第一行讀取)

    [root@python _test]# vim _test.py 
    #!/usr/bin/env python
    #coding:utf-8
    import csv
    with open('test.csv', encoding="utf-8") as f:
        reader = csv.reader(f)
        for i in reader:
            print(reader.line_num, i)
     
     ### 查看結果
    [root@python _test]# python _test.py
    1 ['id', 'username', 'passwd', 'age']
    2 ['1', 'dream1', '123', '21']
    3 ['2', 'dream2', '456', '22']
    4 ['3', 'dream3', '789', '23']

    (2)遍歷(從第二行讀取)

    [root@python _test]# vim _test.py
    #!/usr/bin/env python
    #coding:utf-8
    import csv
    with open('test.csv', encoding="utf-8") as f:
        reader = csv.reader(f)
        ### 這個就是我們得表頭
        next(reader)
        for i in reader:
            print(reader.line_num, i)
            
    ### 查看結果
    [root@python _test]# python _test.py    
    2 ['1', 'dream1', '123', '21']
    3 ['2', 'dream2', '456', '22']
    4 ['3', 'dream3', '789', '23']

    3、查看csv文件(字典)

    (1)查看

    [root@python _test]# vim _test.py
    #!/usr/bin/env python
    #coding:utf-8
    import csv
    with open('test.csv', encoding="utf-8") as f:
        reader = csv.DictReader(f)
        ### 表頭
        print (reader.fieldnames)
        print (reader,type(reader))
        for i in reader:
            print (i)
            
    ### 查看結果
    [root@python _test]# python _test.py
    ['id',  'username',  'passwd',  'age']
    <csv.DictReader object at 0x7f3b02213a20> <class 'csv.DictReader'>
    OrderedDict([('id', '1'), ('username', 'dream1'), ('passwd', '123'), ('age', '21')])
    OrderedDict([('id', '2'), ('username', 'dream2'), ('passwd', '456'), ('age', '22')])
    OrderedDict([('id', '3'), ('username', 'dream3'), ('passwd', '789'), ('age', '23')])

    (2)查看第一列(id)

    優點:我們不知道表頭在具體那列,我們可以通過表頭名來獲取整列數據,即我們可以隨便調整順序也不會影響我們的數據讀取!!!

    [root@python _test]# vim _test.py
    #!/usr/bin/env python
    #coding:utf-8
    import csv
    with open('test.csv', encoding="utf-8") as f:
        reader = csv.DictReader(f)
        for i in reader:
            print (i['id'])
            
    ### 查看結果
    [root@python _test]# python _test.py
    1
    2
    3

    4、寫入文件(列表)

    [root@python _test]# vim _test.py
    #!/usr/bin/env python
    #coding:utf-8
    import csv
    li = [["id","user","性別"],["1","dreamya1","男"],["2","dreamya2","女"]]
    with open('user.csv', 'w', newline='') as f:
        writer = csv.writer(f)
        for i in li:
            writer.writerow(i)
    
    ### 查看結果
    [root@python _test]# python _test.py 
    [root@python _test]# cat user.csv 
    id,user,性別
    1,dreamya1,男
    2,dreamya2,女

    下載到windows中查看:

    [root@python _test]# sz user.csv

    Python中CSV文件怎么使用

    5、寫入文件(字典)

    [root@python _test]# vim _test.py
    import csv
    #coding:utf-8
    headers = ['id', 'username','passwd']
    li = [{'id':'1','username':'dream1','passwd':'123'},
            {'id':'2','username':'dream2','passwd':'456'},
            ]
            
    with open('user.csv', 'w', newline='') as f:
        ### 表頭傳入
        writer = csv.DictWriter(f, headers)
        writer.writeheader()    
        ### 一行一行寫入
        for i in li:
            writer.writerow(i)
            
        ### 直接把li寫入(多行)
        writer.writerows(li)
    
    ### 查看結果
    [root@python _test]# python _test.py
    [root@python _test]# cat user.csv 
    id,username,passwd
    1,dream1,123
    2,dream2,456
    1,dream1,123
    2,dream2,456

    windows中查看:

    [root@python _test]# sz user.csv

    Python中CSV文件怎么使用

    “Python中CSV文件怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    林芝县| 那曲县| 个旧市| 都昌县| 绥芬河市| 平泉县| 志丹县| 兴文县| 五寨县| 苗栗县| 仙居县| 都匀市| 鹿泉市| 明溪县| 天柱县| 云阳县| 南和县| 建昌县| 南陵县| 太康县| 永定县| 宁安市| 青田县| 高清| 西贡区| 天镇县| 东乡族自治县| 澄江县| 吉安县| 元朗区| 宁强县| 乐陵市| 鄂托克旗| 长武县| 三明市| 伊宁县| 玉林市| 馆陶县| 钟山县| 塔河县| 华安县|