ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CSV基础操作——写入和读取

2020-12-02 20:01:17  阅读:221  来源: 互联网

标签:csv 读取 writerow 23 writer 写入 csvfile CSV


CSV,英文全称为Comma Sepatated Values,是以纯文本形式储存表格数据,中文可以叫做逗号分隔值。相比xlsx,文本储存的结构更加清晰。

CSV的写入

采用writerow(),写入每一列,我们可以使用下面的代码生成一个CSV文件。

import csv

with open('examble.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['name', 'zone', 'score'])
    writer.writerow(['John', 'Beijing', '23'])
    writer.writerow(['BOb', 'Chengdu', '18'])
    writer.writerow(['Wu', 'Shanghai', '23'])

生成的文件通过文本编辑器打开,则是文本类型的,用逗号进行分隔。

name,zone,score
John,Beijing,23
BOb,Chengdu,18
Wu,Shanghai,23

如果通过excel打开效果如下,我们可以增加更多列。

image-20201202191411200

如果我们不想要逗号分隔符,或者使用其他分隔符,可以使用delimiter传递参数。

 writer = csv.writer(csvfile, delimiter=' ')

上面的列子,一行行的写入比较麻烦,我们可以通过列表方式解决,同时写入多行:

writer.writerow([['name', 'zone', 'score'], ['John', 'Beijing', '23'], ['BOb', 'Chengdu', '18'], ['Wu', 'Shanghai', '23']])

当然也可以使用字典写入。在使用字典写入时,需要使用Dicwriter,下面是一个例子:

import csv

with open('examble.csv', 'w') as csvfile:
    filenames = ['name', 'zone', 'score'] # 定义字段
    writer = csv.DictWriter(csvfile, fieldnames=filenames)
    writer.writeheader()
    writer.writerow({'name':'John', 'zone': 'Beijing', 'score': '18'})

CSV文件的读取

使用Reader 即可将文件读取出来。

import csv

with open('data.csv', 'r', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

实际上,使用pandas更方便:

import pandas as pd

r = pd.read_csv('data.csv', encoding='ISO-8859-1') # encoding='ISO-8859-1'用于解码
print(r)

参考资料

《python3 网络爬虫开发实践》崔庆才

2020年12月2日

标签:csv,读取,writerow,23,writer,写入,csvfile,CSV
来源: https://blog.csdn.net/weixin_45228758/article/details/110496674

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有