亿迅智能制造网
工业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++ 比亚恩·斯特劳斯特鲁普 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 对象。

开发阅读器功能以获取文件的每一行并列出所有列。然后,您必须选择要为其提供可变数据的列。

这听起来比实际复杂得多。让我们看一下这个读取 CSV 文件的 Python 代码,我们会发现处理 csv 文件并没有那么难。

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

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

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

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

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

考虑以下代码

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

这段代码的结果是:

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

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

如何在 Python 中编写 CSV 文件

以下是如何在 Python 中编写 CSV 文件:

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

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

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    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文件中的结果是:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

使用 Pandas 读取 CSV 文件

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

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

将 CSV 读入 pandas DataFrame 非常简单:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

读取 CSV Pandas 示例的结果:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

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

使用 Pandas 编写 CSV 文件

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

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.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) # here you have to write path, where result file will be stored
print (df)

这是输出

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

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

结论

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

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

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

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


Python

  1. Python 关键字和标识符
  2. Python 语句、缩进和注释
  3. Python 变量、常量和文字
  4. Python 类型转换和类型转换
  5. Python 输入、输出和导入
  6. Python 全局、局部和非局部变量
  7. Python 文件 I/O
  8. Python 目录和文件管理
  9. Python 错误和内置异常
  10. 如何在 Python 中获取当前日期和时间?
  11. 如何使用 TEXTIO 从文件初始化 RAM
  12. Java BufferedReader:如何通过示例在 Java 中读取文件