教你如何在Python中讀,寫和解析CSV文

摘要:在這篇文章中關於「在Python如何閱讀CSV文件」中,咱們將學習如何讀,寫和解析的CSV文件的Python。

您知道將表格數據存儲到純文本文件背後的機制是什麼嗎?答案是CSV(逗號分隔值)文件,該文件容許將數據轉換爲純文本格式。在這篇文章中關於「在Python如何閱讀CSV文件」中,咱們將學習如何讀,寫和解析的CSV文件的Python。python

將詳細討論如下方面:數據庫

o 什麼是CSV文件及其用途?編程

o 爲何使用CSV文件格式?segmentfault

o Python CSV模塊工具

§ CSV模塊功能oop

o 在Python中執行寫入,讀取CSV文件的操做學習

讓咱們開始吧。網站

什麼是CSV文件及其用途?編碼

CSV(逗號分隔值)是一種純文本文件格式,用於存儲表格數據(例如電子表格或數據庫)。它本質上存儲的表格數據包括數字和純文本文本。大多數在線服務使用戶能夠自由地將網站中的數據導出爲CSV文件格式。CSV文件一般會在Excel中打開,幾乎全部數據庫都具備不一樣的特定工具以容許導入相同的文件。spa

文件的每一行都稱爲記錄。每一個記錄由用_逗號分隔_ 的字段組成,這些字段也稱爲「定界符」,這是默認定界符,其餘記錄包括pipe(|),分號(;)。下面給出的是一個普通CSV文件的結構,以逗號分隔,我正在使用一個泰坦尼克號CSV文件。

結構

`Passenger,Id,Survived,Pclass,Name,Sex.Age
1,0,3 Braund, Mr. Owen Harris ,male, 22
2,1,1 Cumings, Mrs. John Bradley (Florence Briggs Thayer), female,38
3,1,3 Heikkinen, Miss. Laina ,female, 26
4,1,1 Futrelle, Mrs. Jacques Heath (Lily May Peel),female,35`

繼續說說使用CSV文件格式的緣由。

爲何使用CSV文件格式?

CSV是純文本文件,它使數據交換更容易,也更易於導入到電子表格或數據庫存儲中。例如:您可能但願將某個統計分析的數據導出到CSV文件,而後將其導入電子表格以進行進一步分析。整體而言,它使用戶能夠經過編程輕鬆地體驗工做。任何支持文本文件或字符串操做的語言(例如Python)均可以
直接使用CSV文件。

繼續前進,讓咱們看看Python如何原生使用CSV。

Python CSV模塊

Python使用的CSV軟件包是標準庫的一部分,所以您無需安裝它。

import csv

如今,讓我向您展現不一樣的CSV功能。

CSV模塊功能

在CSV模塊下,您能夠找到如下功能:

Python中CSV文件的操做讓咱們繼續前進,從Python CSV文件上不一樣操做的編碼角度來看。

加載CSV文件後,您能夠執行多種操做。我將在Python中顯示對CSV文件的讀取和寫入操做。

在Python中讀取CSV文件:

import csv 
 
with open('Titanic.csv','r') as csv_file: #Opens the file in read mode
    csv_reader = csv.reader(csv_file) # Making use of reader method for reading the file
 
    for line in csv_reader: #Iterate through the loop to read line by line
        print(line)

輸出:

在Python中讀取CSV文件

在這裏,從輸出中能夠看到,我已經使用了Titanic CSV File。而且全部字段都用逗號分隔,文件被讀入Python。

繼續前進,讓咱們看看如何寫入CSV文件。

用Python寫入CSV文件:

import csv
 
with open('Titanic.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)
 
    with open('new_Titanic.csv', 'w') as new_file: # Open a new file named 'new_titanic.csv' under write mode
        csv_writer = csv.writer(new_file, delimiter=';') #making use of write method
 
        for line in csv_reader: # for each file in csv_reader
            csv_writer.writerow(line) #writing out to a new file from each line of the original file

out:

在Python-Edureka中寫入CSV讀取CSV文件

如今,這種使用讀寫器方法處理CSV文件的方法是最多見的方法之一。讓咱們繼續前進,看看如何使用python字典來作一樣的事情。

讀取CSV文件做爲字典:

import csv 
 
with open('Titanic.csv','r') as csv_file: #Open the file in read mode
    csv_reader = csv.DictReader(csv_file) #use dictreader method to reade the file in dictionary
 
    for line in csv_reader: #Iterate through the loop to read line by line
        print(line)

輸出:

Read-csv-dict-如何在Python-Edureka中讀取CSV文件

從輸出中能夠看到,字段已被替換,它們如今充當字典的「鍵」。

讓咱們看看如何將CSV文件做爲字典寫入。

做爲字典寫入CSV文件

import csv 
 
mydict = [{'Passenger':'1', 'Id':'0', 'Survived':'3'}, #key-value pairs as dictionary obj
          {'Passenger':'2', 'Id':'1', 'Survived':'1'},
          {'Passenger':'3', 'Id':'1', 'Survived':'3'}]
 
fields = ['Passenger', 'Id', 'Survived'] #field names
 
filename = 'new_Titanic.csv' #name of csv file
 
with open('new_Titanic.csv', 'w')as new_csv_file: #open a new file 'new_titanic,csv' under write mode
    writer = csv.DictWriter(new_csv_file, fieldnames=fields) 
    writer.writeheader() #writing the headers(field names)
 
    writer.writerows(mydict) #writing data rows

輸出:

Write-csv-dict-如何在python-Edureka中讀取csv

讓咱們看看如何在python中將CSV文件讀取爲熊貓。

以熊貓格式讀取CSV文件:

import pandas #install pandas package
 
result = pandas.read_csv('Titanic.csv') #read the csv file
 
print(result) # print result

輸出:

Read-csv-pandas-如何在python-Edureka中讀取csv文件

這使咱們到文章「如何在Python中讀取CSV文件」的結尾。我但願您對與CSV相關的全部概念,如何讀寫它,如何將CSV做爲字典進行讀寫以及如何將CSV做爲熊貓進行閱讀都一目瞭然。

確保儘量多地練習並恢復經驗

本文分享自華爲雲社區《如何在Python中讀取CSV文件?》,原文做者:Yuchuan 。

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索