python中csv文件的创建、读取等操作总结

9 篇文章 1 订阅
1 篇文章 0 订阅

python中csv文件的创建、读取等操作总结


CSV前言

CSV(逗号分隔值)格式是电子表格和数据库最常见的导入和导出格式,
它允许程序员说“以 Excel 首选的格式写入此数据”或“从 Excel 生成的此文件中读取数据”,而无需了解 Excel 使用的 CSV 格式的确切细节。

其中再wps以及微软的Excel这两个软件中,数据内容的格式是并不兼容的

  • wps中要用 utf-8 写入
  • Excel要用 utf-8-sig 写入

1. 导入csv库

当我们想要对CSV文件进行操作时,我们可以导入python自带的csv库进行操作

import csv

2. CSV文件的写入操作

2.1 CSV文件的写入方法一:以列表方式写入

import csv

header = ['name', 'url', 'city']
data = [['才短思涩-求解', 'https://blog.csdn.net/caribbean666?type=blog', '保定']]
with open('ggg.csv', 'w', encoding='utf-8', newline='') as f:
    #创建文件
    write = csv.writer(f)
    # 单行写入
    write.writerow(header)
    # 多行写入
    write.writerows(data)

2.2 CSV文件的写入方法二:以字典方式写入

import csv

header = ['name', 'url', 'city']
data = [{'name': '才短思涩-求解', 'url': 'https://blog.csdn.net/caribbean666?type=blog', 'city': '保定'}]
with open('dict.csv', 'w', encoding='utf-8', newline='') as f:
    #创建文件
    write = csv.DictWriter(f, header)
    #声明表头
    write.writeheader()
    # 单行写入
    # write.writerow(data)
    # 多行写入
    write.writerows(data)


如果需要写入很多数据时只需要写入一次表头,那么可以再write.writeheader()加一个if判断

import csv
k=1
header = ['name','url','city']
data=[{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'}{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'}{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},{'name':'才短思涩-求解','url':'https://blog.csdn.net/caribbean666?type=blog','city':'保定'},]
with open('dict.csv','w',encoding='utf-8',newline='') as f:
   write=csv.DictWriter(f,header)
   # 声明表头
   if k==1:
      write.writeheader()
      k+=1
     # 单行写入
     # write.writerow(data)
     # 多行写入
   write.writerows(data)

3. CSV文件的读取操作

3.1 CSV文件的读取方法一:以列表方式读取

import csv

with open('dict.csv', 'r', encoding='utf-8') as f:
    #创建读取对象
    read = csv.reader(f)
    # print(read)# 生成器
    for i in read:
        print(i)

3.2 CSV文件的读取方法二:以字典方式读取

import csv

with open('dict.csv', 'r', encoding='utf-8') as f:
    read = csv.DictReader(f) #生成器
    # print(read)
    for i in read:
        print(i)

注意: 打开文件时应指定格式为w, 文本写入. 打开文件时,指定不自动添加新行newline=‘’,否则每写入一行就或多一个空行。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

才短思涩-求解

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值