Python 读写csv文件总结(pandas、csv库)

1、用pandas读写csv文件,参考:https://blog.csdn.net/u011412768/article/details/109522349

2、用Python自带的csv库读写

     (1)按行写csv文件

      用csv按行写数据时,每一行是按照一个list写入的,所以将每一行的数据做成一个list就可以输出了。  值得注意的是,csv逐行写入数据时,默认的是行之间会空一行,可以通过newline=""来解决这个问题。  

import csv

data = [[1, 2, 3],
        [4, 5, 6, 7]]

file = "test.csv"
f = open(file, "w", newline="", encoding="utf-8-sig")
csv_writer = csv.writer(f)
for line in data:
    csv_writer.writerow(line)
f.close()

最后的文件如下所示:

       (2)一次性写入csv文件

         用writerrows()这个方法可以一次性写入,不过前提是数据保存为一个list,然后这个list的每个元素也是一个list,对应的是每一行的数据。这里的newline依然需要设置,不然行之间还是会空行。

import csv

data = [[1, 2, 3],
        [4, 5, 6, 7],
        [8, 9, 10]]

file = "test.csv"
f = open(file, "w", newline="", encoding="utf-8-sig")
csv_writer = csv.writer(f)
csv_writer.writerows(data)
f.close()

 

(3)按行读csv文件

 需要注意的是,csv读进的每一行数据都是list,对应csv文件的每一行数据。这个list的每一个元素对应每一行中的各个值,并且每个值的类型都是string的。如果在存入csv的时候是其他数据类型,通过csv读出来也是字符串,如果想用原来的数据类型,需要自己再进行格式转换一下。

import csv

file = "test.csv"
f = open(file, "r", encoding="utf-8-sig")
csv_reader = csv.reader(f)
for line in csv_reader:
    print(line)

f.close()

 结果如图所示,上面写入csv的时候,各个基本的元素都是int型的,这里读出来却都是string型的。

 

至此,所有Python读写csv文件的方法和里面经常会涉及的坑应该都填完了……

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值