C 怎么读取Cpp文件_DAY5-step9 使用CSV模块和Pandas在Python中读取和写入CSV文件

什么是CSV文件?

CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据。 CSV是一种紧凑,简单且通用的数据交换通用格式。 许多在线服务允许其用户将网站中的表格数据导出到CSV文件中。 CSV文件将在Excel中打开,几乎所有数据库都具有允许从CSV文件导入的工具。 标准格式由行和列数据定义。 此外,每行以换行符终止,以开始下一行。 同样在行内,每列用逗号分隔。

CSV样本文件。

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

考虑下表

92c9ce7027c48431e415791bb8e37e2e.png

注:这只是样板csv文件

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

CSV数据

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

Python,Guido van Rossum,1991,.py

Java,James Gosling,1995,.java

C ++,Bjarne Stroustrup,1983,.cpp

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

Python CSV模块

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

CSV模块功能

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

  • csv.field_size_limit –返回最大字段大小
  • csv.get_dialect –获取与名称相关的方言
  • csv.list_dialects –显示所有已注册的方言
  • csv.reader –从csv文件读取数据
  • csv.register_dialect-将方言与名称相关联
  • csv.writer –将数据写入csv文件
  • csv.unregister_dialect-删除与方言注册表名称关联的方言
  • csv.QUOTE_ALL-引用所有内容,无论类型如何。
  • csv.QUOTE_MINIMAL-引用带有特殊字符的字段
  • csv.QUOTE_NONNUMERIC-引用所有非数字值的字段
  • csv.QUOTE_NONE –在输出中不引用任何内容

在本教程中,我们将仅专注于读取器和写入器功能,这些功能使您可以编辑,修改和操作CSV文件中的数据。

如何读取CSV文件

要从CSV文件读取数据,必须使用阅读器功能来生成阅读器对象。

开发阅读器功能是为了获取文件的每一行并列出所有列。 然后,您必须选择想要变量数据的列。

听起来比它复杂得多。 让我们看一下这个例子,我们会发现使用csv文件并不是那么困难。

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

当您执行上述程序时,输出将是:

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

如何将CSV作为字典阅读

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

考虑以下代码

#import necessary modulesimport csvreader = 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文件读取数据的方法比以前的方法要容易得多。 但是,这并不是读取数据的最佳方法。

如何写CSV文件

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

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

#import necessary modulesimport csvwith 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'])

Result in csv file is:

Programming language, Designed by, Appeared, Extension Python, Guido van Rossum, 1991, .pyJava, James Gosling, 1995, .javaC++, Bjarne Stroustrup,1983,.cpp

使用Pandas读取CSV文件

Pandas是一个开源库,可让您使用Python执行数据操作。 Pandas提供了一种创建,操作和删除数据的简便方法。

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

将CSV读入pandas DataFrame非常简单快捷:

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

Result:

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

非常有用的库。 在仅三行代码中,您将获得与之前相同的结果。 Pandas知道CSV的第一行包含列名,它将自动使用它们。

用Pandas写入CSV文件

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

from pandas import DataFrameC = {'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 storedprint (df)

Here is the output

Programming language, Designed by, Appeared, Extension0    Python, Guido van Rossum, 1991, .py1    Java, James Gosling, 1995, .java2    C++, Bjarne Stroustrup,1983,.cpp

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

77fde03ae6bf18c02776c29ec6a86c54.png

结论

因此,现在您知道如何使用方法“ csv”以及以CSV格式读取和写入数据。 CSV文件易于阅读和管理,并且尺寸较小,因此相对较快地进行处理和传输,因此在软件应用程序中得到了广泛使用。

csv模块提供了各种功能和类,使您可以轻松地进行读写。 您可以查看Python的官方文档,并找到更多有趣的技巧和模块。 CSV是保存,查看和发送数据的最佳方法。 实际上,它并不像开始时那样难学。 但是只要稍作练习,您就可以掌握它。

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

另外,还有其他方法可以使用ANTLR,PLY和PlyPlus之类的库来解析文本文件。 它们都可以处理繁重的解析,并且如果简单的String操作不起作用,则可以使用正则表达式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值