如何在Python中解析CSV文件

时间:2020-02-23 14:42:23  来源:igfitidea点击:

CSV文件用于将表格数据存储到文件中。
我们可以轻松地将数据从数据库表或者Excel文件导出到CSV文件。
程序和程序也易于阅读。
在本教程中,我们将学习如何在Python中解析CSV文件。

什么是解析?

解析文件意味着从文件中读取数据。
该文件可能包含文本数据(所谓的文本文件),也可能是电子表格。

什么是CSV文件?

CSV代表逗号分隔文件,即,数据之间使用逗号分隔。
CSV文件是由处理大量数据的程序创建的。
CSV文件中的数据可以以电子表格和数据库的形式轻松导出,也可以导入以供其他程序使用。

让我们看看如何解析CSV文件。
在Python中解析CSV文件非常容易。
Python有一个内置的CSV库,该库提供了从CSV文件读取数据和将数据写入CSV文件的功能。
库中CSV文件有多种格式可用,这使数据处理变得用户友好。

用Python解析CSV文件

使用内置的Python CSV模块读取CSV文件。

import csv

with open('university_records.csv', 'r') as csv_file:
  reader = csv.reader(csv_file)

  for row in reader:
      print(row)

输出:Python解析CSV文件

用Python编写CSV文件

要写入文件,我们必须以写入模式或者附加模式打开它。
其中我们会将数据附加到现有的CSV文件中。

import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Lisa', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
  writer = csv.writer(csv_file)

  writer.writerow(row)

  writer.writerow(row1)

  writer.writerow(row2)

Python附加到CSV文件

使用Pandas库解析CSV文件

还有另一种使用CSV文件的方法,它是最受欢迎和更专业的,并且使用了Pandas 库。

Pandas是一个Python数据分析库。
它提供了不同的结构,工具和操作来处理和处理给定的数据,这些数据主要是二维表或者一维表。

Pandas 库 的用途和特点

  • 数据集透视和重塑。

  • 使用DataFrame对象建立索引的数据处理。

  • 数据过滤。

  • 对数据集的合并和联接操作。

  • 大规模数据集的切片,索引和子集。

  • 缺少数据处理和数据对齐。

  • 行/列的插入和删除。

  • 一维不同的文件格式。

  • 各种文件格式的数据读写工具。

要使用CSV文件,您需要安装Pandas 。
安装Pandas 非常简单,请按照以下说明使用PIP进行安装。

$pip install pandas

Python安装Pandas

Python安装Pandas Cmd

安装完成后,就可以开始了。

使用Pandas Module读取CSV文件

您需要先了解数据文件在文件系统中的路径以及当前的工作目录,然后才能使用Pandas 导入CSV文件数据。

我建议将代码和数据文件保存在相同的目录或者文件夹中,这样您就无需指定路径来节省时间和空间。

import pandas

result = pandas.read_csv('ign.csv')

print(result)

输出

使用pandas模块读取CSV文件

使用Pandas Module编写CSV文件

使用Pandas 编写CSV文件就像阅读一样简单。
唯一使用的新术语是" DataFrame"。

Pandas DataFrame是二维的异构表格数据结构(数据以表格的形式排列在行和列中。

Pandas DataFrame由三个主要组件组成-数据,列和行-带有标记的x轴和y轴(行和列)。

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'program_lang.csv', index=None, header=True)