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

使用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
Python:深入研究汇编和解释Python:深入研究汇编和解释May 12, 2025 am 12:14 AM

pythonisehybridmodelofcompilationand interpretation:1)thepythoninterspretercompilesourcececodeintoplatform- interpententbybytecode.2)thepytythonvirtualmachine(pvm)thenexecuteCutestestestesteSteSteSteSteSteSthisByTecode,BelancingEaseofuseWithPerformance。

Python是一种解释或编译语言,为什么重要?Python是一种解释或编译语言,为什么重要?May 12, 2025 am 12:09 AM

pythonisbothinterpretedAndCompiled.1)它的compiledTobyTecodeForportabilityAcrosplatforms.2)bytecodeisthenInterpreted,允许fordingfordforderynamictynamictymictymictymictyandrapiddefupment,尽管Ititmaybeslowerthananeflowerthanancompiledcompiledlanguages。

对于python中的循环时循环与循环:解释了关键差异对于python中的循环时循环与循环:解释了关键差异May 12, 2025 am 12:08 AM

在您的知识之际,而foroopsareideal insinAdvance中,而WhileLoopSareBetterForsituations则youneedtoloopuntilaconditionismet

循环时:实用指南循环时:实用指南May 12, 2025 am 12:07 AM

ForboopSareSusedwhenthentheneMberofiterationsiskNownInAdvance,而WhileLoopSareSareDestrationsDepportonAcondition.1)ForloopSareIdealForiteratingOverSequencesLikelistSorarrays.2)whileLeleLooleSuitableApeableableableableableableforscenarioscenarioswhereTheLeTheLeTheLeTeLoopContinusunuesuntilaspecificiccificcificCondond

Python:它是真正的解释吗?揭穿神话Python:它是真正的解释吗?揭穿神话May 12, 2025 am 12:05 AM

pythonisnotpuroly interpred; itosisehybridablectofbytecodecompilationandruntimeinterpretation.1)PythonCompiLessourceceCeceDintobyTecode,whitsthenexecececected bytybytybythepythepythepythonvirtirtualmachine(pvm).2)

与同一元素的Python串联列表与同一元素的Python串联列表May 11, 2025 am 12:08 AM

concateNateListsinpythonwithTheSamelements,使用:1)operatototakeepduplicates,2)asettoremavelemavphicates,or3)listCompreanspearensionforcontroloverduplicates,每个methodhasdhasdifferentperferentperferentperforentperforentperforentperfortenceandordormplications。

解释与编译语言:Python的位置解释与编译语言:Python的位置May 11, 2025 am 12:07 AM

pythonisanterpretedlanguage,offeringosofuseandflexibilitybutfacingperformancelanceLimitationsInCricapplications.1)drightingedlanguageslikeLikeLikeLikeLikeLikeLikeLikeThonexecuteline-by-line,允许ImmediaMediaMediaMediaMediaMediateFeedBackAndBackAndRapidPrototypiD.2)compiledLanguagesLanguagesLagagesLikagesLikec/c thresst

循环时:您什么时候在Python中使用?循环时:您什么时候在Python中使用?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance,andwhileloopswheniterationsdependonacondition.1)Forloopsareidealforsequenceslikelistsorranges.2)Whileloopssuitscenarioswheretheloopcontinuesuntilaspecificconditionismet,usefulforuserinputsoralgorit

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具