Python如何读取csv文件(答案在这里————)

本文概述

  • CSV文件
  • Python CSV模块功能
  • 读取CSV文件
  • 将CSV读入字典
  • 用熊猫读取csv文件
CSV文件csv代表” 逗号分隔值” , 它定义为一种简单的文件格式, 使用特定的结构来排列表格数据。它以纯文本格式存储表格数据, 例如电子表格或数据库, 并具有通用的数据交换格式。一个csv文件将打开到excel工作表中, 并且行和列数据定义了标准格式。
Python CSV模块功能CSV模块工作用于处理CSV文件以从指定列读取/写入和获取数据。 CSV函数有不同类型, 如下所示:
  • csv.field_size_limit-返回解析器允许的当前最大字段大小。
  • csv.get_dialect-返回与名称关联的方言。
  • csv.list_dialects-返回所有已注册方言的名称。
  • csv.reader-从csv文件读取数据
  • csv.register_dialect-将方言与名称相关联。名称必须是字符串或Unicode对象。
  • csv.writer-将数据写入csv文件
  • csv.unregister_dialect-它从方言注册表中删除与该名称关联的方言。如果名称不是注册的方言名称, 则将引发错误。
  • csv.QUOTE_ALL-它指示编写器对象引用所有字段。 csv.QUOTE_MINIMAL-它指示编写器对象仅引用那些包含特殊字符(如quotechar, delimiter等)的字段。
  • csv.QUOTE_NONNUMERIC-它指示编写器对象引用所有非数字字段。
  • csv.QUOTE_NONE-它指示writer对象不要引用字段。
读取CSV文件在Python中, csv.reader()模块用于读取csv文件。它占用文件的每一行, 并列出所有列。
我们获取了一个名为python.txt的txt文件, 该文件的默认分隔符为comma(, ), 其中包含以下数据:
name, department, birthday monthParker, Accounting, NovemberSmith, IT, October

代码
import csvwith open('python.txt') as csv_file:csv_reader = csv.reader(csv_file, delimiter=', ')line_count = 0for row in csv_reader:if line_count == 0:print(f'Column names are {", ".join(row)}')line_count += 1

输出
Column names are name, department, birthday monthParker works in the Accounting department, and was born in November.Smith works in the IT department, and was born in October.Processed 3 lines.

将CSV读入字典我们还可以使用DictReader将csv文件直接读入字典, 而不用处理单个String元素的列表。
同样, 我们的输入文件python.txt如下所示:
name, department, birthday monthParker, Accounting, NovemberSmith, IT, October

代码
import csvwith open('python.txt', mode='r') as csv_file:csv_reader = csv.DictReader(csv_file)line_count = 0for row in csv_reader:if line_count == 0:print(f'The Column names are as follows {", ".join(row)}')line_count += 1print(f'\t{row["name"]} works in the {row["department"]} department, and was born in {row["birthday month"]}.')line_count += 1print(f'Processed {line_count} lines.')

输出
The Column names are as follows name, department, birthday monthParker works in the Accounting department, and was born in November.Smith works in the IT department, and was born in October.Processed 3 lines.

用熊猫读取csv文件Pandas被定义为在NumPy库顶部构建的开源库。它为用户提供快速的分析, 数据清理和数据准备。
将csv文件读入pandas DataFrame是快速而直接的。我们不需要编写足够的代码行即可在熊猫中打开, 分析和读取csv文件, 并将其存储在DataFrame中。
在这里, 我们正在读取一个稍微复杂的文件hrdata.csv, 其中包含公司员工的数据。
Name, Hire Date, Salary, Leaves RemainingJohn Idle, 08/15/14, 50000.00, 10Smith Gilliam, 04/07/15, 65000.00, 8Parker Chapman, 02/21/14, 45000.00, 10Jones Palin, 10/14/13, 70000.00, 3Terry Gilliam, 07/22/14, 48000.00, 7Michael Palin, 06/28/13, 66000.00, 8

代码
import pandasdf = pandas.read_csv('hrdata.csv')print(df)

在上面的代码中, 三行足以读取文件, 并且只有其中一行正在执行实际工作, 即pandas.read_csv()
【Python如何读取csv文件(答案在这里————)】输出
NameHire DateSalaryLeaves Remaining0John Idle03/15/1450000.0101Smith Gilliam06/01/1565000.082Parker Chapman05/12/1445000.0103Jones Palin11/01/1370000.034Terry Gilliam08/12/1448000.075Michael Palin05/23/1366000.08

    推荐阅读