首页 > 后端开发 > Python教程 > 使用Python使用CSV文件,并示例

使用Python使用CSV文件,并示例

Joseph Gordon-Levitt
发布: 2025-02-15 08:52:11
原创
351 人浏览过

使用Python使用CSV文件,并示例

钥匙要点

    Python的内置CSV模块提供了以CSV格式阅读,写作和处理数据的功能和类。 CSV.Reader()函数可用于读取CSV文件,而CSV.WRITER()允许将数据写入CSV文件。
  • 。 CSV文件可以使用Python的csv.dictreader类转换为JSON格式,该类别将CSV文件转换为Python词典。然后可以使用json.dump()函数将字典转换为JSON文件。
  • > 可以通过首先使用JSON.LOAD()函数将JSON文件转换为Python字典来将JSON文件转换为CSV格式。然后可以使用CSV.DICTWRITER类方法将字典转换为CSV文件。
  • CSV文件通常用于电子表格和数据库中的数据导入和导出。 Python的CSV模块简化了使用CSV文件,并将其转换为其他格式,例如JSON。
  • >在本文中,我们将学习如何使用Python从CSV文件中读取和写入数据,以及如何将CSV文件转换为JSON格式,反之亦然。我们将探索如何使用CSV模块,并查看有助于了解其工作原理的示例。
  • a csv(逗号分隔值)文件是一种文本文件格式,允许数据保存在表格结构中。这是一种流行的格式,用于从数据库和电子表格导出和导入数据。
>顾名思义,CSV文件中的每个数据都由逗号(,)分开。有时,“ CSV”一词可用于描述其他类型的分离器,例如结肠(:),semicolons(;)和tabs(t)。出于本文的目的,我们将处理使用逗号作为定界符(称为RFC 4180)的CSV文件。

打开时,csv文件的内容如下:

>

>如上所述,逗号定界符,、,用来将文件中的每个特定数据分开。

>

>第一行数据可以选择用作标题,并识别其下面的每一列数据。 CSV文件通常用.CSV文件扩展名保存。

Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team
1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing
2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,,
3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance
4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
登录后复制
登录后复制
登录后复制
> CSV模块

>可以将电子表格和数据库(如MS SQL)导入并导出为CSV文件,因此重要的是要知道如何以编程方式处理CSV格式的数据。大多数编程语言(如Python)支持CSV中的处理文件,并将其转换为JSON等其他格式。

Python提供了用于读取,编写和执行其他形式的文件处理的模块,以CSV格式读取和执行其他形式的文件。内置库提供的功能和类,使使用CSV文件无缝。

如何使用Python读取CSV文件

>> csv 模块具有用于读取CSV文件的csv.reader()函数。它与对象(包括文件对象)一起使用,例如使用Python的In-In-op-Open()函数生成的对象。

>从呼叫打开()中给定的文件对象,csv.reader()将返回读取器对象。读取器对象可以用来迭代CSV数据的每一行,其中行返回作为字符串列表。

让我们以一个例子:

Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team
1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing
2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,,
3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance
4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
登录后复制
登录后复制
登录后复制
这是上述代码的输出:

>在第一个代码段中,打开了员工。csv文件,然后csv.reader()函数解析并返回读取器对象。一个简单的循环用于迭代读取器对象,该对象从employ.csv文件中返回每行数据列表,从顶部开始。
<span>import csv
</span>
<span>with open('employees.csv', newline='') as file_obj:
</span>    reader_obj <span>= csv.reader(file_obj)
</span>    <span>for row in reader_obj:
</span>        <span>print(row)
</span>
登录后复制

如何使用Python

写入CSV文件

>除了从CSV文件中读取数据外,我们还可以在Python中将数据写入这些文件。 csv.writer()函数使我们能够将数据写入CSV格式。在写入模式下打开文件后,csv.writer()函数返回一个作者对象,该对象将所提供的数据转换为提供的文件对象上的划界字符串。作者对象具有编写一行的作者()方法(每次逗号或逗号分隔值的数量),而Writerows()方法一次用于多行。 writerow()和writerows()方法是将数据编写到CSV文件的两个选项。

>

>上面的代码段中使用的所有列表对象都可以分组为2D列表,并将其作为参数传递给Writerows()作者对象的writer()方法以实现相同的结果。

执行使用语句后,在包含这些逗号分隔的当前工作目录中创建了一个CSV文件(products.csv)。

这是一个示例:

这是上述代码的输出:

如何使用python
<span>['Employee Id', 'First Name', 'Gender', 'Start Date', 'Last Login Time', 'Salary', 'Bonus %', 'Senior Management', 'Team']
</span><span>['1', 'Douglas', 'Male', '8/6/1993', '12:42 PM', '', '6.945', 'TRUE', 'Marketing']
</span><span>['2', 'Thomas', 'Male', '3/31/1996', '6:53 AM', '61933', '4.17', '', '']
</span><span>['3', 'Maria', 'Female', '4/23/1993', '11:17 AM', '', '11.858', 'FALSE', 'Finance']
</span><span>['4', 'Jerry', 'Male', '3/4/2005', '1:00 PM', '138705', '9.34', '', 'Finance']
</span><span>['5', 'Larry', 'Male', '1/24/1998', '4:47 PM', '101004', '1.389', 'TRUE', 'Client Services']
</span><span>...
</span>
登录后复制
将CSV转换为JSON 在执行文件I/O操作时,我们可能需要将CSV文件转换为JSON格式 - 这是在客户端和服务器之间接收和传输数据的流行。

csv

模块提供了csv.dictreader类,以帮助我们实现这一目标。
<span>import csv
</span>
<span>with open('products.csv', 'w', newline='') as file_obj:
</span>    writer_obj <span>= csv.writer(file_obj)
</span>    writer_obj<span>.writerow(['Product Name', 'Price', 'Quantity', 'SKU Number' ])
</span>    writer_obj<span>.writerow(['Rice', 80, 35, 'RI59023'])
</span>    writer_obj<span>.writerow(['Curry', 2, 200, 'CY13890'])
</span>    writer_obj<span>.writerow(['Milk', 9.5, 315, 'MK10204'])
</span>
登录后复制

> csv.dictreader类方法有助于在应用

json

模块的json.dump()函数之前将给定的CSV文件转换为Python字典,以将结果Python字典转换为JSON文件。 csv.dictreader()类采用可选的字段名称参数。省略字段名称的地方,第一行的值将映射到其余数据为字段名称。 让我们来看看一个示例:

这是上述代码的输出:

>要将CSV文件转换为JSON等效,我们应用了以下步骤:>
  • >在读取模式下打开员工。
  • >使用csv.dictreader类返回的文件对象创建了Python字典
  • >在写入模式下打开一个JSON文件,例如员工。
  • >使用
  • json
  • 模块的dump()函数将python字典(my_dict)转换为json文件>
  • 如何使用python
将JSON转换为CSV 在本节中,我们将研究如何将数据从JSON文件转换为CSV格式。为了实现这一目标,我们将同时使用内置的

csv

jsonpython模块。 json模块的json.load()函数将有助于将json文件转换为python词典,而csvcsv 模块的csv.dictwiter类方法将有助于将python字典转换为csv file。 这是一个示例:

>要将JSON文件转换为CSV等效,我们应用了以下步骤:>
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team
1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing
2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,,
3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance
4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
登录后复制
登录后复制
登录后复制

在读取模式下打开员工。

>使用JSON.LOAD()函数创建Python字典py_dict
  • >在写入模式下打开了CSV文件files_records.csv(如果没有这样的文件,将创建一个文件)
  • >使用CSV.DICTWRITER类创建一个带有必要参数的作者对象>使用作者对象方法将词典映射到适当的行数
  • >
  • 结论
  • > CSV文件非常受欢迎,并且经常用于导出和导入电子表格和数据库。使用数据的人经常使用此文件格式。但是,在使用Python进行编程时,可能需要快速使用CSV文件,因此学习如何使用CSV执行文件I/O操作很重要。
python's

csv

模块非常方便地使用CSV文件,因为它为这类任务提供了必要的功能和类。>

>也必须注意,我们可能需要将文件从一种格式转换为另一种格式(CSV至JSON),如上所述。

经常询问有关Python CSV文件的问题(常见问题解答)

>如何处理python中的大型CSV文件?但是,Python的内置CSV模块提供了一种在较小的块中读取和编写CSV文件的方法,从而使使用大型文件可以使用。您可以在循环中使用读取器对象一次读取特定数量的行。这样,您可以在较小,更易于管理的块中处理一个大文件。

>如何在Python中写入CSV文件?

>写入python中的CSV文件,与Python直接使用CSV模块。您可以使用作者对象及其作者方法来编写单行,也可以一次写入多行。请记住在写入之前以写入模式打开文件。

>

>如何在Python中使用不同的定系数来处理CSV文件?读者和作者对象采用定界符参数,您可以将其设置为CSV文件用作定界器的任何字符。

如何使用Python中的标头(

)处理CSV文件?您的CSV文件包含一个标题行,您可以使用CSV模块中的Dictreader对象读取文件。该对象将每一行视为词典,其中键是标题行中的列名,并且值是每个行中的数据。

>

>如何使用Python中的引用字段来处理CSV文件?>

>如何处理Python中的特殊字符的CSV文件?

>

>如果您的CSV文件包含特殊字符,则可以通过以二进制模式打开文件并使用Unicodecsv模块而不是内置CSV模块来处理它们。该模块就像CSV模块一样工作,但它支持Unicode字符。

如何使用PANDAS处理CSV文件中的CSV文件,而Python中缺少值的CSV文件? Python的图书馆。您可以将CSV文件读取到dataFrame中,然后使用fillna方法填充缺少值或计算值的值。

>如何将CSV文件转换为Python中的其他格式?

如何通过Python中的特定列对CSV文件进行分类? >

>您可以使用Python中的Pandas库通过特定列对CSV文件进行排序。在将CSV文件读取到数据框中后,您可以使用sort_values方法按一个或多个列对数据框进行排序。

如何根据python的条件过滤CSV文件中的行?

>您可以使用Python中的PANDAS库中的条件过滤CSV文件中的行。将CSV文件读取到数据框中后,您可以使用布尔索引根据条件过滤数据框。

以上是使用Python使用CSV文件,并示例的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板