当前位置: 首页 > 编程笔记 >

python 如何读、写、解析CSV文件

宇文修筠
2023-03-14
本文向大家介绍python 如何读、写、解析CSV文件,包括了python 如何读、写、解析CSV文件的使用技巧和注意事项,需要的朋友参考一下

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

将详细讨论以下方面:

  • 什么是CSV文件及其用途?
  • 为什么使用CSV文件格式?
  • Python CSV模块

                 CSV模块功能

  • 在Python中执行写入,读取CSV文件的操作
  • 让我们开始吧。

什么是CSV文件及其用途?

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

文件的每一行都称为记录。每个记录由用逗号分隔 的字段组成,这些字段也称为“定界符”,这是默认定界符,其他记录包括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)

输出:

在这里,从输出中可以看到,我已经使用了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文件的详细内容,更多关于python 读写解析CSV文件的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 问题内容: 我有一个包含内容的文件 如何使用Python 阅读? 同样,如果我有 如何data使用Python 写入CSV文件? 问题答案: 以下是一些最小的完整示例,这些示例如何读取CSV文件以及如何使用Python编写CSV文件。 Python 2 + 3:读取CSV文件 Python 之后,的内容data_read是 Unicode和Python 2.X 如果要编写Unicode,则必须安装

  • 本文向大家介绍利用python 读写csv文件,包括了利用python 读写csv文件的使用技巧和注意事项,需要的朋友参考一下 1、读文件 csv_reader把每一行数据转化成了一个list,list中每个元素是一个字符串。 2、写文件 读文件时,我们把csv文件读入列表中,写文件时会把列表中的元素写入到csv文件中。 可能遇到的问题:直接使用这种写法会导致文件每一行后面会多一个空行。 解决办法

  • 本文向大家介绍 用Python读写csv,包括了 用Python读写csv的使用技巧和注意事项,需要的朋友参考一下 示例 CSV(Comma Separated Values)是一种用于存储表格数据(例如电子表格)的简单文件格式。这是如何在Python中读写数据的最小示例。 将数据写入CSV文件: 从CSV文件读取数据:            

  • 问题内容: 我正在读取2个csv文件:&。 我希望能够将CSV文件与进行比较。1)如果项目名称匹配,只需更新store_inventory中的数量。2)如果new_acquisitions具有不存在的新项目,则将其添加到中。 这是我到目前为止所做的,但是效果不是很好。我在需要添加taks 1 和 2的 地方添加了注释。 任何建议或执行上述任务的代码都将非常有用!谢谢。 再次感谢任何帮助。=] 问题

  • 主要内容:read_csv(),to_csv()在《 Python Pandas读取文件》中,我们讲解了多种用 Pandas 读写文件的方法。本节我们讲解如何应用这些方法 。 我们知道,文件的读写操作属于计算机的 IO 操作,Pandas IO 操作提供了一些读取器函数,比如 pd.read_csv()、pd.read_json 等,它们都返回一个 Pandas 对象。 在 Pandas 中用于读取文本的函数有两个,分别是: read_csv(

  • 本文向大家介绍Python文件读写w+和r+区别解析,包括了Python文件读写w+和r+区别解析的使用技巧和注意事项,需要的朋友参考一下 其实r 是只读,只能读不能写,这是很明确的,但是r+是可读写,变成r+后还没太明白到底加了什么,还是照样写不了,有没有这样的体验呢,如下代码,只读时 这样的话报错是明显的:io.UnsupportedOperation: not writable,不可写应都能