csv文件加bom python_Python csv 模块的简单使用

本文介绍了如何使用Python的csv模块处理带有BOM标志的CSV文件。通过示例代码展示了如何读取原始文件并创建新的CSV文件,其中数据以制表符分隔。同时,还展示了如何从原始文件中选择性地读取特定字段。
摘要由CSDN通过智能技术生成

CSV文件 英文名:"comma seperated values"

以下为csv模块的代码块

原文档 addressbook.csv

name,age,telephone

stella,18,15000416462

jack,20,13725644371

lucy,17,13024267086

import csv

#由于我的csv文件带有BOM标记,转码后出现了'\ufeff',因而使用'utf-8-sig'的方式进行编码,正常情况下不需要另外声明,'utf-8'就好

with open('addressbook.csv','r',encoding='utf-8-sig') as csv_file:

csv_reader = csv.DictReader(csv_file)

with open('new_addressbook.csv','w')as new_file:

#要写的列名

fieldnames = ['name','age','telephone']

csv_writer = csv.DictWriter(new_file,fieldnames=fieldnames,delimiter='\t')

#delimiter参数控制分割符

#不加这一步的话,第一行列名将不会写入

csv_writer.writeheader()

for line in csv_reader:

csv_writer.writerow(line)

读取addressbook.csv后,创建以空格分割的新的csv文件 new_addressbook.csv

stella 18 15000416462

jack 20 13725644371

lucy 17 13024267086

只读取addressbook.csv 的 name,telephone 字段

name telephone

stella 15000416462

jack 13725644371

lucy 13024267086

import csv

#由于我的csv文件带有BOM标记,转码后出现了'\ufeff',因而使用'utf-8-sig'的方式进行编码,正常情况下不需要另外声明,'utf-8'就好

with open('addressbook.csv','r',encoding='utf-8-sig') as csv_file:

csv_reader = csv.DictReader(csv_file)

with open('new_addressbook.csv','w')as new_file:

#控制要写的列名

fieldnames = ['name','telephone']

csv_writer = csv.DictWriter(new_file,fieldnames=fieldnames,delimiter='\t')

csv_writer.writeheader()

for line in csv_reader:

#写入的时候,删除age这一dict

del line['age']

csv_writer.writerow(line)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值