python读取csv文件

时间:2019-12-18 16:06:05   收藏:0   阅读:104

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,无法存储数值。

技术分享图片

python读取csv文件有两种方式,一种读取到是列表类型,一种读取到时字典类型;

# 导包
import csv
# 定义文件路径
csv_path = source_file/reg_info.csv

1.第一种读取方式

# 通过with语句读取,以列表类型读取
with open(csv_path,r,encoding=utf8)as fp:
    # 使用列表推导式,将读取到的数据装进列表
    data_list = [i for i in csv.reader(fp)]  # csv.reader 读取到的数据是list类型
    print(data_list)

# 读取到的结果
[[mobilephone, pwd, regname, status, code, msg], [15664587568, xaiohua, xiaohua, 1, 10001, 注册成功], [18956455875, xiaocao, xiaocao, 1, 10001, 注册成功]]

2.第二种读取方式

# 以字典类型读取
# 在python3.6版本后,读取到csv文件内容每一行的类型是OrderedDict;可以通过字典的形式取值;
# 在读取过程中会将csv文件内容映射到OrderedDict中,其中OrderedDict中的键可以由fieldnames 定义;
# 如果fieldnames 为None,则OrderedDict的键为csv文件首行内容
with open(csv_path,r,encoding=utf8)as fp:
    # 使用列表推导式,将读取到的数据装进列表
    data_list = [i for i in csv.DictReader(fp,fieldnames=None)]  # csv.DictReader 读取到的数据是list类型
    print(data_list)


# 读取到的结果为:
[OrderedDict([(mobilephone, 15664587568), (pwd, xaiohua), (regname, xiaohua), (status, 1), (code, 10001), (msg, 注册成功)]), OrderedDict([(mobilephone, 18956455875), (pwd, xiaocao), (regname, xiaocao), (status, 1), (code, 10001), (msg, 注册成功)])]

python写入数据到csv文件,写入文件分为单行数据写入和多行数据写入

1.单行数据写入

# 单行数据写入文件
data_list = [15446875965,wwwwwww,vvvvvvvv,1,10001,注册成功]

with open(csv_path,a,encoding=utf8)as fp:
    write = csv.writer(fp)
    write.writerow(data_list) # writerow 所接收的是一个列表

2.多行数据写入

# 多行数据写入
data_list = [
[15446875965,wwwwwww,vvvvvvvv,1,10001,注册成功],
[15446875965,wwwwwww,vvvvvvvv,1,10001,注册成功],
[15446875965,wwwwwww,vvvvvvvv,1,10001,注册成功],
[15446875965,wwwwwww,vvvvvvvv,1,10001,注册成功],
[15446875965,wwwwwww,vvvvvvvv,1,10001,注册成功],
]
with open(csv_path,a,encoding=utf8)as fp:
    write = csv.writer(fp)
    write.writerows(data_list) # writerow 所接收的是一个列表

 

 

原文:https://www.cnblogs.com/XhyTechnologyShare/p/12059768.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!