Python如何读写CSV文件
CSV文件是一种纯文本文件,它使用特定的结构来排列表格数据。
CSV文件内容看起来应该是下面这样的:
column1name,column2name,column3name
firstrowdata1,firstrowdata2,firstrowdata3
secondrowdata1,secondrowdata2,secondrowdata3
...
每段数据是如何用逗号分隔的。通常,第一行标识每个数据块——换句话说,数据列的名称。之后的每一行都是实际数据,仅受文件大小限制。
CSV文件通常由处理大量数据的程序创建。它们是一种从电子表格和数据库导出数据以及导入或在其他程序中使用数据的方便方法。例如,您可以将数据挖掘程序的结果导出到CSV文件中,然后将其导入到电子表格中,以分析数据、为演示生成图表或准备发布报告。
CSV文件非常容易通过编程处理。任何支持文本文件输入和字符串操作的语言(如Python)都可以直接使用CSV文件。
读取CSV文件内容
在Python中,使用csv库来读取CSV文件内容。在读文件之前,先创建一个a.csv的文件,内容是下面这样:
名字,部门,月份
JohnSmith,Accounting,November
EricaMeyers,IT,March
文件创建完成后,开始编写读取文件内容的程序:
importcsv withopen('a.csv')ascsv_file: csv_reader=csv.reader(csv_file,delimiter=',') line_count=0 forrowincsv_reader: ifline_count==0: print(f'Columnnamesare{",".join(row)}') line_count+=1 else: print(f'\t{row[0]}worksinthe{row[1]}department,andwasbornin{row[2]}.') line_count+=1 print(f'Processed{line_count}lines.')
写入数据到CSV文件
上面编写了读取内容的程序,下面继续编写一个写文件的程序。我们写到b.csv文件中。
importcsv withopen('b.csv',mode='w')asemployee_file: employee_writer=csv.writer(employee_file,delimiter=',',quotechar='"',quoting=csv.QUOTE_MINIMAL) employee_writer.writerow(['JohnSmith','Accounting','November']) employee_writer.writerow(['EricaMeyers','IT','March'])
如果你感觉使用csv库读写效率比较地下,或者编写的代码太多。下面我介绍一种更高效的方法。
用pandas读csv
假设我们有一个c.csv文件,具体内容如下:
Name,HireDate,Salary,SickDaysremaining
GrahamChapman,03/15/14,50000.00,10
JohnCleese,06/01/15,65000.00,8
EricIdle,05/12/14,45000.00,10
TerryJones,11/01/13,70000.00,3
TerryGilliam,08/12/14,48000.00,7
MichaelPalin,05/23/13,66000.00,8
用pandas读取csv:
importpandas df=pandas.read_csv('hrdata.csv') print(df) #输出的df #NameHireDateSalarySickDaysremaining #0GrahamChapman03/15/1450000.010 #1JohnCleese06/01/1565000.08 #2EricIdle05/12/1445000.010 #3TerryJones11/01/1370000.03 #4TerryGilliam08/12/1448000.07 #5MichaelPalin05/23/1366000.08
用pandas写csv
让我们用新的列名将数据写入一个新的CSV文件:
importpandas df=pandas.read_csv('hrdata.csv', index_col='Employee', parse_dates=['Hired'], header=0, names=['Employee','Hired','Salary','SickDays']) df.to_csv('d.csv') #d.csv文件内容 #Employee,Hired,Salary,SickDays #GrahamChapman,2014-03-15,50000.0,10 #JohnCleese,2015-06-01,65000.0,8 #EricIdle,2014-05-12,45000.0,10 #TerryJones,2013-11-01,70000.0,3 #TerryGilliam,2014-08-12,48000.0,7 #MichaelPalin,2013-05-23,66000.0,8
如果你了解读取CSV文件的基础知识,那么当您需要处理导入数据时,就不会手足无措。基本的CSVPython库可以轻松地处理大多数CSV读取、处理和编写任务。如果你有很多数据要读取和处理,panda库还提供了快速和简单的CSV处理功能。
以上就是Python如何读写CSV文件的详细内容,更多关于Python读写CSV文件的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。