• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

详解python读取与写入csv格式文件方法

python 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论
文章目录[隐藏]

python读取与写入csv格式文件

在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中。将csv文件中的数据直接读取为dict类型和DataFrame是非常方便也很省事的一种做法,以下代码以鸢尾花数据为例。

csv文件读取为dict

代码

# -*- coding: utf-8 -*-import csvwith open('E:/iris.csv') as csvfile:reader = csv.DictReader(csvfile, fieldnames=None)   # fieldnames默认为None,如果所读csv文件没有表头,则需要指定list_1 = [e for e in reader]  # 每行数据作为一个dict存入链表中cs<p style="color:transparent">本文来源gao!%daima.com搞$代*!码$网3</p>vfile.close()print list_1[0]

输出

{'Petal.Length': '1.4', 'Sepal.Length': '5.1', 'Petal.Width': '0.2', 'Sepal.Width': '3.5', 'Species': 'setosa'}

如果读入的每条数据需要单独处理且数据量较大,推荐逐条处理然后再放入。

list_1 = list()for e in reader:  list_1.append(your_func(e)) # your_func为每条数据的处理函数

多条类型为dict的数据写入csv文件

代码

#   数据data = [{'Petal.Length': '1.4', 'Sepal.Length': '5.1', 'Petal.Width': '0.2', 'Sepal.Width': '3.5', 'Species': 'setosa'},{'Petal.Length': '1.4', 'Sepal.Length': '4.9', 'Petal.Width': '0.2', 'Sepal.Width': '3', 'Species': 'setosa'},{'Petal.Length': '1.3', 'Sepal.Length': '4.7', 'Petal.Width': '0.2', 'Sepal.Width': '3.2', 'Species': 'setosa'},{'Petal.Length': '1.5', 'Sepal.Length': '4.6', 'Petal.Width': '0.2', 'Sepal.Width': '3.1', 'Species': 'setosa'}]#   表头header = ['Petal.Length', 'Sepal.Length', 'Petal.Width', 'Sepal.Width', 'Species']print len(data)with open('E:/dst.csv', 'wb') as dstfile:   #写入方式选择wb,否则有空行    writer = csv.DictWriter(dstfile, fieldnames=header)    writer.writeheader()    #   写入表头    writer.writerows(data)  # 批量写入dstfile.close()

上述代码将数据整体写入csv文件,如果数据量较多且想实时查看写入了多少数据可以使用writerows函数。

读取csv文件为DataFrame

代码

# 读取csv文件为DataFrameimport pandas as pddframe = pd.DataFrame.from_csv('E:/iris.csv')

也可以稍微曲折点:

import csvimport pandas as pdwith open('E:/iris.csv') as csvfile:    reader = csv.DictReader(csvfile, fieldnames=None)   # fieldnames默认为None,如果所读csv文件没有表头,则需要指定    list_1 = [e for e in reader]  # 每行数据作为一个dict存入链表中csvfile.close()dfrme = pd.DataFrame.from_records(list_1)

DataFrame写入csv文件

dfrme.to_csv('E:/dst.csv', index=False) # 不要每行的编号

以上就是详解python读取与写入csv格式文件方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:详解python读取与写入csv格式文件方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址