簡單小案例(一):使用Pandas在Python中讀取和寫入CSV文件

2021-02-13 AI科技與算法編程

前期文章連結:

霍夫變換——形狀特徵提取算法:車道線檢測

開源自動駕駛汽車數據集

基於深度學習和神經網絡的重要基礎及方法概要

深度學習背後的數學思想

Tensorflow2實現YOLOv3目標檢測

目標檢測入門開篇:YOLOv3快速訓練高速路段車輛數據

YOLOv3論文

https://arxiv.org/pdf/1804.02767.pdf

正文:

有許多方法可以在Python中讀寫CSV文件。有幾種不同的方法,例如,您可以使用Python的內置open()函數來讀取CSV(逗號分隔值)文件,或者可以使用Python的專用csv模塊來讀取和寫入CSV文件。根據您的用例,您還可以使用Python的Pandas庫讀取和寫入CSV文件。

在本文中,您將看到如何使用Python的Pandas庫讀取和寫入CSV文件。但是,在此之前,讓我們簡要地看看什麼是CSV文件。

什麼是CSV文件?

CSV文件只不過是一個簡單的文本文件。但是,這是存儲表格數據的最常見,最簡單和最簡單的方法。這種特定格式通過遵循分為行和列的特定結構來排列表。這些行和列包含您的數據。每行都以新行終止,以開始下一行。同樣,逗號(也稱為定界符)分隔每行中的列。

以下表為例:

| City | State | Capital | Population |
| -- | -- | -- | --- |
| Philadelphia | Pennsylvania | No | 1.581 Million |
| Sacramento | California | Yes | 0.5 Million |
| New York | New York | No | 8.623 Million |
| Austin | Texas | Yes | 0.95 Million |
| Miami | Florida | No | 0.463 Million |

現在,如果我們以CSV格式表示,則上表將如下所示:

City, State, Capital, Population
Philadelphia, Pennsylvania, No, 1.581 Million
Sacramento, California, Yes, 0.5 Million
New York, New York, No, 8.623 Million
Austin, Texas, Yes, 0.95 Million
Miami, Florida, No, 0.463 Million

如您所見,逗號將每一行中的列中的所有值分隔開。但是,您也可以使用其他符號(例如,分號(;))作為分隔符。表格的每一行都會變成CSV文件的新行。CSV格式的核心目的是幫助您緊湊簡潔地呈現表格數據。

既然您已經了解了什麼是CSV文件,那麼該研究一下如何使用Pandas的read_csv()方法讀取Python中的CSV文件了。

使用熊貓讀取和寫入CSV文件

Pandas是一個非常強大且流行的數據分析和處理框架。熊貓最引人注目的功能之一就是它具有讀寫各種類型的文件(包括CSV和Excel)的能力。您可以使用read_csv()和功能,輕鬆有效地在熊貓中操作CSV文件to_csv()。

安裝熊貓

在使用框架之前,我們必須先安裝Panda。安裝Pandas的最簡單方法之一就是安裝Anaconda。它是跨平臺的Python發行版,用於執行Python計算和數據分析之類的任務。一旦安裝了Anaconda,您將無需任何其他操作即可訪問Pandas和其他庫(例如SciPy和NumPy)。

此外,您還可以通過pip installer安裝Pandas,如下所示:

$ pip install pandas

使用read_csv()讀取CSV文件

完成安裝後,您可以使用該read_csv()功能讀取CSV文件。我們將嘗試讀取「 titanic.csv」文件,該文件可以從此連結下載。

首先,我們必須導入Pandas庫:

import pandas as pd

現在,我們使用以下代碼行實際讀取和解析文件:

titanic_data = pd.read_csv('titanic.csv')

當我們執行此代碼時,它將從當前目錄讀取CSV文件「 titanic.csv」。您可以從上面的腳本中看到,要讀取CSV文件,您必須將文件路徑傳遞給read_csv()Pandas庫的方法。read_csv()然後,該方法返回一個包含CSV文件數據的Pandas DataFrame。

您可以通過head()Pandas DataFrame的方法顯示CSV文件的前五行,如下所示:

titanic_data.head()

輸出:

您還可以通過簡單地將資源的URL傳遞給read_csv()方法來從在線資源中讀取CSV文件。讓我們閱讀位於遠程GitHub存儲庫上的「 titanic.csv」文件。

import pandas as pd

titanic_data = pd.read_csv(r'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv')

默認情況下,該read_csv()方法將CSV文件第一行中的值視為列標題。但是,您可以在通過以下read_csv()方法讀取文件時傳遞自定義標頭名稱:

import pandas as pd

col_names = ['Id',
'Survived',
'Passenger Class',
'Full Name',
'Gender',
'Age',
'SibSp',
'Parch',
'Ticket Number',
'Price', 'Cabin',
'Station']

titanic_data = pd.read_csv(r'D:\Datasets\titanic.csv', names=col_names, header=None)

要讀取帶有自定義標題的CSV文件,您需要將自定義列名稱的列表傳遞給方法的names屬性read_csv()。如果要覆蓋默認的標頭名稱,則可以傳遞header=None關鍵字參數。

現在,讓我們看一下在上一個示例中讀取的「 titanic.csv」文件的標題名稱。

titanic_data.head()

輸出:

在這裡,您可以在DataFrame的輸出中看到自定義標頭。

使用to_csv()編寫CSV文件

通過熊貓創建或寫入CSV文件的過程可能比讀取CSV稍微複雜一些,但仍然相對簡單。我們使用該to_csv()函數來執行此任務。但是,您必須先創建一個Pandas DataFrame,然後將其寫入CSV文件。

列名也可以通過關鍵字參數指定,也可以通過參數指定columns不同的分隔符sep。同樣,默認定界符為逗號「,」。

這是一個簡單的示例,顯示了如何通過以下方式將DataFrame導出到CSV文件to_csv():

import pandas as pd

city = pd.DataFrame([['Sacramento', 'California'], ['Miami', 'Florida']], columns=['City', 'State'])
city.to_csv('city.csv')

在上面的示例中,我們創建了一個名為的DataFrame city。隨後,我們使用該to_csv()函數將該DataFrame寫入了名為「 city.csv」的文件中。生成的CSV文件應具有以下內容:

City,State
Sacramento,California
Miami,Florida

CSV文件包含我們的自定義標頭,後跟我們創建的DataFrame中包含的兩行數據。

結論

本文介紹了如何使用Python的Pandas庫讀取和寫入CSV文件。要讀取CSV文件,請read_csv()使用Pandas庫的方法。您還可以通過方法的names屬性在讀取CSV文件時傳遞自定義標題名稱read_csv()。最後,要使用Pandas編寫CSV文件,您首先必須創建一個Pandas DataFrame對象,然後to_csv在DataFrame上調用方法。

相關焦點

  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • python(pandas)讀取外部數據---使用Pandas讀寫操作txt文件
    1、準備.txt的數據文件其實pandas讀寫.txt文件和讀寫csv文件是類似的,而且使用的都是pd.read_csv()  /
  • python-pandas讀寫csv數據
    /pandas-docs/stable/user_guide/io.html一、使用pandas讀取和寫入csv文件pd.read_csv("filepath",[encoding='編碼'])pd.read_csv("filepath",usecols=[0,1,2,...]
  • 如何使用Python 和 Pandas讀寫JSON文件
    在下一部分中,我們將使用Pandas的 json方法將JSON文件加載到Pandas 數據幀中。在這裡,我們將學習如何從本地和一個URL讀取JSON文件,以及如何使用Pandas讀取一個嵌套的JSON文件。最後,作為獎勵,我們還將學習如何操作Pandas數據幀中的數據、重命名列和使用Seaborn對數據繪製圖表。什麼是JSON文件?
  • python項目實踐分享:使用pandas處理大型CSV文件
    CSV(Comma Separated Values)作為一種逗號分隔型值的純文本格式文件,在實際應用中經常用到。如資料庫數據的導入導出、數據分析中記錄的存儲等。因此很多語言都提供了對CSV文件處理的模塊。Python也不例外,其模塊csv提供了一系列與CSV處理相關的 API。
  • python pandas解決csv文件中的部分注釋問題
    由於通過添加注釋,文件通常可以更加清晰明了。csv文件中有注釋,這種情況是可能存在的。
  • 《pandas數據讀取》
    ,需要使用不同的函數讀取,pandas內置了10餘種數據源讀取函數和對應的數據寫入函數,常見的數據源有3種,分別是資料庫數據,文本文件(包含一般文本文件和CSV文件)和Excel文件,掌握這三種數據源讀取方法,便能夠完成80%左右的數據讀取工作。
  • python讀取csv簡明教程
    什麼是CSV文件?CSV文件是一種純文本文件,其使用特定的結構來排列表格數據。 CSV是緊湊,簡單且通用的數據交換通用格式。 許多在線服務允許其用戶將網站中的表格數據導出到CSV文件中。 CSV文件可在Excel中打開,幾乎所有資料庫都具有允許從CSV文件導入的工具。 CSV文件行以換行符分割,列用逗號、分號、冒號等分隔。
  • 一篇文章就能深入理解pandas讀取excel,txt,csv文件等命令
    如果不指定參數,則會嘗試使用默認值逗號分隔。分隔符長於一個字符並且不是『\s+』,將使用python的語法分析器。並且忽略數據中的逗號。未指定的中間行將被刪除(例如,跳過此示例中的2行)index_col(案例1)默認為None 用列名作為DataFrame的行標籤,如果給出序列,則使用MultiIndex。如果讀取某文件,該文件每行末尾都有帶分隔符,考慮使用index_col=False使panadas不用第一列作為行的名稱。
  • 使用Python讀寫CSV文件
    之後的每一行都是實際數據,僅受文件大小限制。CSV文件通常由處理大量數據的程序創建。它們是一種從電子表格和資料庫導出數據以及導入或在其他程序中使用數據的方便方法。例如,您可以將數據挖掘程序的結果導出到CSV文件中,然後將其導入到電子表格中,以分析數據、為演示生成圖表或準備發布報告。CSV文件非常容易通過編程處理。
  • 127、使用pandas讀取文本文件
    python小白社區默言_e0a2同學,是一個持之以恆的好同學。以下是他的作品。pandas提供了一些用於將表格型數據讀取為DataFrame對象的函數,其中常用read_csv和read_table讀取文件。
  • Pandas進階Excel(一)——讀取
    今天開始介紹python可以操作Excel的另一個強大的庫——pandas庫。個人認為,pandas庫對於操作Excel有著極好的支撐。在數據導入、數據清洗、數據計算、數據導出都有著完整性的支撐,是一個提供高性能易用數據類型和分析工具,並且用一段時間你就會發現如果拿pandas只操作表格數據,是真的大材小用。 它不僅可以處理數據,更可以可視化數據。譬如可以做出這樣的圖表。
  • Python讀取CSV和Excel
    CSV逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進位數字那樣被解讀的數據。
  • pandas讀取數據(1)
    函數描述read_csv讀取csv文件,逗號為默認的分隔符read_table讀取table文件,也就是txt文件,制表符('\t')為默認分隔符read_clipboardread_table的剪貼板版本,在將表格從Web頁面轉換成數據時有用read_excel讀取XLS或XLSX文件read_hdf讀取pandas存儲的HDF5
  • Python對CSV文件的處理
    在接口自動化測試中,把測試的數據存儲到csv的文件也是一種很不錯的選擇,下面就詳細的介紹如何實現CSV文件內容的讀取和如何把數據寫入到
  • 利用Python讀取外部數據文件
    作者:劉順祥個人微信公眾號:每天進步一點點2015不論是數據分析,數據可視化,還是數據挖掘,一切的一切全都是以數據作為最基礎的元素
  • 使用pandas進行文件讀寫
    pandas支持讀取非常多類型的文件,示意如下對於文本文件,支持csv, json等格式,當然也支持tsv文本文件;對於二進位文件,支持excel,python序列化文件,hdf5等格式;此外,還支持SQL資料庫文件的讀寫。在日常開發中,最經典的使用場景就是處理csv,tsv文本文件和excel文件了。
  • 乾貨 | pandas讀取csv文件數據的方法及注意點
    這篇文章介紹了利用數據分析工具pandas讀取csv文件的方法和注意點,便於迅速過渡到數據處理階段。pandas是一個高效的數據分析工具。基於其高度抽象的數據結構DataFrame,幾乎可以對數據進行任何你想要的操作。由於現實世界中數據源的格式非常多,pandas也支持了不同數據格式的導入方法,本文介紹pandas如何從csv文件中導入數據。
  • n種方式教你用python讀寫excel等數據文件
    下面整理下python有哪些方式可以讀寫數據文件。1. read、readline、readlinesread()  :一次性讀取整個文件內容。推薦使用read(size)方法,size越大運行時間越長readline()  :每次讀取一行內容。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    【每天幾分鐘,從零入門python編程的世界!】numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。