教你如何在Python中读,写和解析CSV文

摘要:在这篇文章中关于“在Python如何阅读CSV文件”中,咱们将学习如何读,写和解析的CSV文件的Python。

您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CSV(逗号分隔值)文件,该文件容许将数据转换为纯文本格式。在这篇文章中关于“在Python如何阅读CSV文件”中,咱们将学习如何读,写和解析的CSV文件的Python。python

将详细讨论如下方面:数据库

    • 什么是CSV文件及其用途?
    • 为何使用CSV文件格式?
    • Python CSV模块
      • CSV模块功能
    • 在Python中执行写入,读取CSV文件的操做

让咱们开始吧。编程

什么是CSV文件及其用途?

CSV(逗号分隔值)是一种纯文本文件格式,用于存储表格数据(例如电子表格或数据库)。它本质上存储的表格数据包括数字和纯文本。大多数在线服务使用户能够自由地将网站中的数据导出为CSV文件格式。CSV文件一般会在Excel中打开,几乎全部数据库都具备不一样的特定工具以容许导入相同的文件。工具

文件的每一行都称为记录。每一个记录由用逗号分隔 的字段组成,这些字段也称为“定界符”,这是默认定界符,其余记录包括pipe(|),分号(;)。下面给出的是一个普通CSV文件的结构,以逗号分隔,我正在使用一个泰坦尼克号CSV文件。oop

结构

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软件包是标准库的一部分,所以您无需安装它。url

import csv

如今,让我向您展现不一样的CSV功能。spa

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)

输出:

在这里,从输出中能够看到,我已经使用了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:

如今,这种使用读写器方法处理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)

输出:

从输出中能够看到,字段已被替换,它们如今充当字典的“键”。

让咱们看看如何将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文件读取为熊猫。

以熊猫格式读取CSV文件:

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

输出:

这使咱们到文章“如何在Python中读取CSV文件”的结尾。我但愿您对与CSV相关的全部概念,如何读写它,如何将CSV做为字典进行读写以及如何将CSV做为熊猫进行阅读都一目了然。

确保尽量多地练习并恢复经验

本文分享自华为云社区《如何在Python中读取CSV文件?》,原文做者:Yuchuan 。

 

点击关注,第一时间了解华为云新鲜技术~

相关文章
相关标签/搜索