Python将csv中每一行的数据转化为字典

第一种方法:使用pandas模块


import pandas as pd

# 第一种情况
"""
	header=0 是默认值,将默认将csv文件的第一行作为表头文件
"""
df = pd.read_csv("统一开小灶.csv", header=0)


for line in df.values:
	dic = {}
	for item, data in zip(df, line.tolist()):
		dic[item] = data
	print(dic)

    
# 第二种情况
"""
	header=None,设置csv文件没有表头,这是可以自定义一个表头
"""
df = pd.read_csv("统一开小灶.csv", header=None)
headers_list = []
for line in df.values:
	dic = {}
	for item, data in zip(headers_list, line.tolist()):
		dic[item] = data
	print(dic)
# 输出结果

{'商品名称': '统一开小灶', '用户昵称': 't**1', '评论时间': '2020-07-24', '口味': nan, '评论内容': '此用户没有填写评价。', '追评内容': '未追评', '追评时间(几天后追评)': '未追评', '阅读数': 0, '点赞数': 0, '评论图片': '无评论图片'}
{'商品名称': '统一开小灶', '用户昵称': '白**7', '评论时间': '2020-08-12', '口味': nan, '评论内容': '此用户没有填写评价。', '追评内容': '未追评', '追评时间(几天后追评)': '未追评', '阅读数': 0, '点赞数': 0, '评论图片': '无评论图片'}

第二种方法:使用csv模块

from csv import DictReader

# 第一种情况:csv文件中第一行为表头
with open('统一开小灶.csv', mode='r',encoding='utf-8') as read_obj:
	dict_reader = DictReader(read_obj)
	list_of_dict = list(dict_reader)
	print(list_of_dict)

# 第二种情况:csv文件中没有表头
header = ["列1","列2",.....]  # 根据csv文件的列数自定义表头

with open('统一开小灶.csv', mode='r',encoding='utf-8') as read_obj:
    # fieldnames可以将指定的列表作为表头
	dict_reader = DictReader(read_obj,fieldnames=header)
	list_of_dict = list(dict_reader)
	print(list_of_dict)
# 输出结果

[{'商品名称': '统一开小灶', '用户昵称': 't**1', '评论时间': '2020-07-24', '口味': '', '评论内容': '此用户没有填写评价。', '追评内容': '未追评', '追评时间(几天后追评)': '未追评', '阅读数': '0', '点赞数': '0', '评论图片': '无评论图片'}, {'商品名称': '统一开小灶', '用户昵称': '白**7', '评论时间': '2020-08-12', '口味': '', '评论内容': '此用户没有填写评价。', '追评内容': '未追评', '追评时间(几天后追评)': '未追评', '阅读数': '0', '点赞数': '0', '评论图片': '无评论图片'}]
  • 7
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值