亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python
如何在 Python 中读取 CSV 文件 | CSV 文件读写

什么是 CSV 文件?

CSV 文件 是一种简单类型的纯文本文件,它使用特定的结构来排列表格数据。 CSV 文件的标准格式由行和列数据定义,其中换行符终止每一行以开始下一行,每一列在行内用​​逗号分隔。

CSV 是数据交换的常用格式,因为它紧凑、简单且通用。许多在线服务允许用户将表格数据从网站导出为 CSV 文件。 CSV 文件将打开到 Excel 中,并且几乎所有数据库都有允许从 CSV 文件导入的工具。

在本教程中,您将学习:

CSV 示例文件

表格形式的数据也称为 CSV(逗号分隔值)——字面意思是“逗号分隔值”。这是一种用于表示表格数据的文本格式。文件的每一行都是表格的一行。各个列的值由分隔符分隔 - 逗号 (,)、分号 (;) 或其他符号。 CSV 可以通过 Python 轻松读取和处理。

考虑下表

表格数据

编程语言 设计者 出现 扩展
Python 吉多·范罗苏姆 1991 .py
Java 詹姆斯·高斯林 1995 .java
C++ Bjarne Stroustrup 1983 .cpp

您可以在 csv 中表示此表,如下所示。

CSV 数据

编程语言,设计者,出现,扩展

Python,Guido van Rossum,1991,.py

Java,詹姆斯·高斯林,1995,.java

C++, Bjarne Stroustrup,1983,.cpp

如您所见,每一行都是一个新行,每一列用逗号分隔。这是 CSV 文件的外观示例。

下载CSV数据

Python CSV 模块

Python 提供了一个 CSV 模块来处理 CSV 文件。要读取/写入数据,您需要遍历 CSV 的行。需要使用split方法从指定列中获取数据。

CSV 模块功能

在 CSV 模块文档中,您可以找到以下功能:

在本教程中,我们将只关注读取器和写入器功能,它们允许您编辑、修改和操作 CSV 文件中的数据。

如何在 Python 中读取 CSV 文件

以下是在 Python 中读取 CSV 文件的步骤。

步骤 1) 要从CSV文件中读取数据,必须使用reader函数生成一个reader对象。

reader 函数被开发为获取文件的每一行并制作所有列的列表。然后,您必须选择要为其添加变量数据的列。

这听起来比实际复杂得多。看看这段Python读取CSV文件的代码,我们就会发现,使用csv文件并没有那么难。

#import required modulesimport csvwith open('X:\data.csv','rt')as f:data =csv.reader(f) for row in data:print(row)

步骤 2) 当你执行上面的程序时,输出将是:

['编程语言;设计者;出现;扩展']['Python;吉多·范罗苏姆; 1991年; .py']['Java;詹姆斯·高斯林; 1995年; .java']['C++; Bjarne Stroustrup;1983;.cpp']

如何在 Python 中将 CSV 文件读入字典

您也可以使用 DictReader 读取 CSV 文件。结果被解释为一个字典,其中标题行是键,其他行是值。

考虑下面的代码

#import required modulesimport csvreader =csv.DictReader(open("file2.csv"))for raw in reader:print(raw)

这段代码的结果是:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), ('出现', '1991'), ('扩展名', '.py') ])OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), ('出现', '1995'), ('扩展', '.java')]) OrderedDict([('Programming language', 'C++'), ('Designed by', 'Bjarne Stroustrup'), ('出现', '1985'), ('扩展', '.cpp')]) 

这种从 CSV 文件读取数据的方法比以前的方法容易得多。然而,这并不是读取数据的最佳方式。

如何用 Python 编写 CSV 文件

下面是如何用 Python 编写 CSV 文件:

当您有一组要存储在 CSV 文件中的数据时,您必须使用 writer() 函数。要在行(行)上迭代数据,您必须使用 writerow() 函数。

考虑以下示例。我们将数据写入文件“writeData.csv”,其中分隔符为撇号。

#import required modulesimport csvwith open('X:\writeData.csv', mode='w') as file:writer =csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) #写入 csv 文件的方式 writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension']) writer.writerow(['Python', 'Guido van Rossum', '1991', '.py']) writer.writerow(['Java', 'James Gosling', '1995', '.java']) writer.writerow(['C++', 'Bjarne Stroustrup', '1985 ', '.cpp'])

csv文件中的结果是:

编程语言,设计者,出现,扩展 Python,Guido van Rossum,1991,.pyJava,James Gosling,1995,.javaC++,Bjarne Stroustrup,1983,.cpp

使用 Pandas 读取 CSV 文件

Pandas 是一个开源库,允许您在 Python 中导入 CSV 并执行数据操作。 Pandas 提供了一种创建、操作和删除数据的简单方法。

您必须使用命令 pip install pandas 安装 pandas 库。在 Windows 中,您将在命令提示符中执行此命令,而在 Linux 中,您将在终端中执行此命令。

将 CSV 读入 Pandas DataFrame 非常快速和容易:

#import必要的模块import pandasresult =pandas.read_csv('X:\data.csv')print(result)

读取 CSV Pandas 示例的结果:

编程语言,设计者,出现,扩展 0 Python,Guido van Rossum,1991,.py1 Java,James Gosling,1995,.java2 C++,Bjarne Stroustrup,1983,.cpp

非常有用的图书馆。只需三行代码即可获得与之前相同的结果。 Pandas 知道 CSV 的第一行包含列名,它会自动使用它们。

使用 Pandas 编写 CSV 文件

使用 Pandas 写入 CSV 文件就像阅读一样简单。在这里你可以说服它。首先,您必须基于以下 Python 写入 CSV 代码创建 DataFrame。

from pandas import DataFrameC ={'Programming language':['Python','Java', 'C++'], 'Designed by':['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'] , '出现':['1991', '1995', '1985'], '扩展名':['.py', '.java', '.cpp'], }df =DataFrame(C, columns=[ 'Programming language', 'Designed by', 'Appeared', 'Extension'])export_csv =df.to_csv(r'X:\pandaresult.csv', index =None, header=True) #这里要写路径, 结果文件将存储在哪里打印 (df)

这是输出

编程语言,设计者,出现,Extension0 Python,Guido van Rossum,1991,.py1 Java,James Gosling,1995,.java2 C++,Bjarne Stroustrup,1983,.cpp

并在指定位置创建 CSV 文件。

结论

所以,现在您知道如何使用“csv”方法以及如何以 CSV 格式读取和写入数据。 CSV文件由于易于阅读和管理,而且体积小,处理和传输速度较快,因此在软件应用中得到了广泛的应用。

csv 模块提供了各种函数和类,使您可以轻松阅读和编写。你可以查看官方的 Python 文档,找到一些更有趣的技巧和模块。 CSV 是保存、查看和发送数据的最佳方式。事实上,学习并不像一开始看起来那么难。但只要稍加练习,你就会掌握它。

Pandas 是读取 CSV 文件的绝佳选择。

此外,还有其他方法可以使用 ANTLR、PLY 和 PlyPlus 等库来解析文本文件。它们都可以处理繁重的解析,如果简单的字符串操作不起作用,您可以使用正则表达式。


Python

  1. Python 之禅(PEP-20 复活节彩蛋)
  2. Python 中断并继续
  3. Python 迭代器
  4. Python 匿名/Lambda 函数
  5. 使用 Python 登录 Facebook:FB 登录示例
  6. Python 函数参数