溫馨提示×

溫馨提示×

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

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

Python中怎么解析CSV文件

發(fā)布時(shí)間:2021-08-10 16:01:57 來源:億速云 閱讀:240 作者:Leah 欄目:編程語言

本篇文章為大家展示了Python中怎么解析CSV文件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。


什么是CSV文件及其用途?

CSV(逗號分隔值)是一種純文本文件格式,用于存儲(chǔ)表格數(shù)據(jù)(例如電子表格或數(shù)據(jù)庫)。它本質(zhì)上存儲(chǔ)的表格數(shù)據(jù)包括數(shù)字和純文本。大多數(shù)在線服務(wù)使用戶可以自由地將網(wǎng)站中的數(shù)據(jù)導(dǎo)出為CSV文件格式。CSV文件通常會(huì)在Excel中打開,幾乎所有數(shù)據(jù)庫都具有不同的特定工具以允許導(dǎo)入相同的文件。

文件的每一行都稱為記錄。每個(gè)記錄由用逗號分隔 的字段組成,這些字段也稱為“定界符”,這是默認(rèn)定界符,其他記錄包括pipe(|),分號(;)。下面給出的是一個(gè)普通CSV文件的結(jié)構(gòu),以逗號分隔,我正在使用一個(gè)泰坦尼克號CSV文件。

結(jié)構(gòu)

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

繼續(xù)說說使用CSV文件格式的原因。

為什么使用CSV文件格式?

CSV是純文本文件,它使數(shù)據(jù)交換更容易,也更易于導(dǎo)入到電子表格或數(shù)據(jù)庫存儲(chǔ)中。例如:您可能希望將某個(gè)統(tǒng)計(jì)分析的數(shù)據(jù)導(dǎo)出到CSV文件,然后將其導(dǎo)入電子表格以進(jìn)行進(jìn)一步分析??傮w而言,它使用戶可以通過編程輕松地體驗(yàn)工作。任何支持文本文件或字符串操作的語言(例如Python)都可以直接使用CSV文件。

繼續(xù)前進(jìn),讓我們看看Python如何原生使用CSV。

Python CSV模塊

Python使用的CSV軟件包是標(biāo)準(zhǔn)庫的一部分,因此您無需安裝它。

import csv

現(xiàn)在,讓我向您展示不同的CSV功能。

CSV模塊功能

在CSV模塊下,您可以找到以下功能:

Python中怎么解析CSV文件

讓我們繼續(xù)前進(jìn),從Python CSV文件上不同操作的編碼角度來看。

Python中CSV文件的操作

加載CSV文件后,您可以執(zhí)行多種操作。我將在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文件

在這里,從輸出中可以看到,我已經(jīng)使用了Titanic CSV File。并且所有字段都用逗號分隔,文件被讀入Python。

繼續(xù)前進(jìn),讓我們看看如何寫入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中怎么解析CSV文件

現(xiàn)在,這種使用讀寫器方法處理CSV文件的方法是最常見的方法之一。讓我們繼續(xù)前進(jìn),看看如何使用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)

輸出:

Python中怎么解析CSV文件

從輸出中可以看到,字段已被替換,它們現(xiàn)在充當(dāng)字典的“鍵”。

讓我們看看如何將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

輸出:

Python中怎么解析CSV文件

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

以熊貓格式讀取CSV文件:

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

輸出:

Python中怎么解析CSV文件

上述內(nèi)容就是Python中怎么解析CSV文件,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI