写点什么

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

发布于: 2021 年 02 月 25 日

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


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


将详细讨论以下方面:


o 什么是 CSV 文件及其用途?


o 为什么使用 CSV 文件格式?


o Python CSV 模块


§ CSV 模块功能


o 在 Python 中执行写入,读取 CSV 文件的操作


让我们开始吧。


什么是 CSV 文件及其用途?


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


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


结构


`Passenger,Id,Survived,Pclass,Name,Sex.Age1,0,3 Braund, Mr. Owen Harris ,male, 222,1,1 Cumings, Mrs. John Bradley (Florence Briggs Thayer), female,383,1,3 Heikkinen, Miss. Laina ,female, 264,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)
复制代码


输出:



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


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


发布于: 2021 年 02 月 25 日阅读数: 15
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
教你如何在Python中读,写和解析CSV文