<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Python CSV 教程-讀寫 CSV > 原文: [http://zetcode.com/python/csv/](http://zetcode.com/python/csv/) Python CSV 教程顯示了如何使用 Python csv 模塊讀取和寫入 CSV 數據。 ## CSV CSV(逗號分隔值)是在電子表格和數據庫中使用的非常流行的導入和導出數據格式。 CSV 文件中的每一行都是一個數據記錄。 每個記錄由一個或多個字段組成,用逗號分隔。 CSV 是一種非常簡單的數據格式,但是可以有很多差異,例如不同的定界符,換行或引號字符。 ## Python CSV 模塊 `csv`模塊實現用于以 CSV 格式讀取和寫入表格數據的類。 `csv`模塊的`reader`和`writer`對象讀取和寫入序列。 程序員還可以使用`DictReader`和`DictWriter`類以字典形式讀取和寫入數據。 ## Python CSV 方法 下表顯示了 Python csv 方法: | 方法 | 描述 | | --- | --- | | `csv.reader` | 返回一個遍歷 CSV 文件各行的讀取器對象 | | `csv.writer` | 返回將數據寫入 CSV 文件的寫入器對象 | | `csv.register_dialect` | 注冊 CSV 方言 | | `csv.unregister_dialect` | 注銷 CSV 方言 | | `csv.get_dialect` | 返回具有給定名稱的方言 | | `csv.list_dialects` | 返回所有已注冊的方言 | | `csv.field_size_limit` | 返回解析器允許的當前最大字段大小 | ## 使用 Python `csv`模塊 ```py import csv ``` 要使用 Python CSV 模塊,我們導入`csv`。 ## Python CSV 讀取器 `csv.reader()`方法返回一個讀取器對象,該對象遍歷給定 CSV 文件中的行。 ```py $ cat numbers.csv 16,6,4,12,81,6,71,6 ``` `numbers.csv`文件包含數字。 `read_csv.py` ```py #!/usr/bin/python3 import csv f = open('numbers.csv', 'r') with f: reader = csv.reader(f) for row in reader: for e in row: print(e) ``` 在代碼示例中,我們打開`numbers.csv`進行讀取并讀取其內容。 ```py reader = csv.reader(f) ``` 我們得到`reader`對象。 ```py for row in reader: for e in row: print(e) ``` 通過兩個`for`循環,我們遍歷數據。 ```py $ ./read_csv.py 16 6 4 12 81 6 71 6 ``` 這是示例的輸出。 ## 具有不同分隔符的 Python CSV 讀取器 `csv.reader()`方法允許使用帶有`delimiter`屬性的不同定界符。 ```py $ cat items.csv pen|cup|bottle chair|book|tablet ``` `items.csv`包含用`"|"`分隔的字符值。 `read_csv.py` ```py #!/usr/bin/python3 import csv f = open('items.csv', 'r') with f: reader = csv.reader(f, delimiter="|") for row in reader: for e in row: print(e) ``` 該代碼示例從使用`'|'`定界符的 CSV 文件讀取并顯示數據。 ```py $ ./read_csv2.py pen cup bottle chair book tablet ``` 這是示例的輸出。 ## Python CSV `DictReader` `csv.DictReader`類的操作類似于常規讀取器,但會將讀取的信息映射到字典中。 字典的鍵可以使用`fieldnames`參數傳入,也可以從 CSV 文件的第一行推斷出來。 ```py $ cat values.csv min,avg,max 1, 5.5, 10 2, 3.5, 5 ``` 文件的第一行包含字典鍵。 `read_csv_dictionary.py` ```py #!/usr/bin/python3 # read_csv3.py import csv f = open('values.csv', 'r') with f: reader = csv.DictReader(f) for row in reader: print(row['min'], row['avg'], row['max']) ``` 該示例使用`csv.DictReader`從`values.csv`文件中讀取值。 ```py for row in reader: print(row['min'], row['avg'], row['max'] ) ``` 該行是 Python 字典,我們使用鍵引用數據。 ## Python CSV 編寫器 `csv.writer()`方法返回一個`writer`對象,該對象將用戶數據轉換為給定文件狀對象上的定界字符串。 `write_csv.py` ```py #!/usr/bin/python3 import csv nms = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]] f = open('numbers2.csv', 'w') with f: writer = csv.writer(f) for row in nms: writer.writerow(row) ``` 該腳本將數字寫入`numbers2.csv`文件。 `writerow()`方法將一行數據寫入指定的文件。 ```py $ cat numbers2.csv 1,2,3,4,5,6 7,8,9,10,11,12 ``` 一次寫入所有數據是可能的。 `writerows()`方法將所有給定的行寫入 CSV 文件。 `write_csv2.py` ```py #!/usr/bin/python3 import csv nms = [[1, 2, 3], [7, 8, 9], [10, 11, 12]] f = open('numbers3.csv', 'w') with f: writer = csv.writer(f) writer.writerows(nms) ``` 該代碼示例使用`writerows()`方法將三行數字寫入文件。 ## Python CSV `DictWriter` `csv.DictWriter`類的操作類似于常規編寫器,但將 Python 字典映射到 CSV 行。 `fieldnames`參數是一系列鍵,這些鍵標識傳遞給`writerow()`方法的字典中的值寫入 CSV 文件的順序。 `write_csv_dictionary.py` ```py #!/usr/bin/python3 import csv f = open('names.csv', 'w') with f: fnames = ['first_name', 'last_name'] writer = csv.DictWriter(f, fieldnames=fnames) writer.writeheader() writer.writerow({'first_name' : 'John', 'last_name': 'Smith'}) writer.writerow({'first_name' : 'Robert', 'last_name': 'Brown'}) writer.writerow({'first_name' : 'Julia', 'last_name': 'Griffin'}) ``` 該示例使用`csv.DictWriter`將 Python 字典中的值寫入 CSV 文件。 ```py writer = csv.DictWriter(f, fieldnames=fnames) ``` 創建了新的`csv.DictWriter`。 標頭名稱將傳遞給`fieldnames`參數。 ```py writer.writeheader() ``` `writeheader()`方法將標頭寫入 CSV 文件。 ```py writer.writerow({'first_name' : 'John', 'last_name': 'Smith'}) ``` Python 字典被寫入 CSV 文件中的一行。 ```py $ cat names.csv first_name,last_name John,Smith Robert,Brown Julia,Griffin ``` 這是輸出。 ## Python CSV 自定義方言 使用`csv.register_dialect()`方法創建自定義方言。 `custom_dialect.py` ```py #!/usr/bin/python3 import csv csv.register_dialect("hashes", delimiter="#") f = open('items3.csv', 'w') with f: writer = csv.writer(f, dialect="hashes") writer.writerow(("pens", 4)) writer.writerow(("plates", 2)) writer.writerow(("bottles", 4)) writer.writerow(("cups", 1)) ``` 該程序使用(# )字符作為分隔符。 使用`csv.writer()`方法中的`dialect`選項指定方言。 ```py $ cat items3.csv pens#4 plates#2 bottles#4 cups#1 ``` 這是輸出。 在本教程中,我們使用 Python 處理 CSV。 您可能也會對以下相關教程感興趣: [Python 教程](/lang/python/), [Python 列表推導式](/articles/pythonlistcomprehensions/), [PrettyTable 教程](/python/prettytable/), [PyMongo 教程](/python/pymongo/), [Python SimpleJson 教程](/python/simplejson/), [OpenPyXL 教程](/articles/openpyxl/), [Python Requests 教程](/web/pythonrequests/)和 [Python 列表推導](/articles/pythonlistcomprehensions/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看