Python 轻松学会写程式笔记-第5节65-读取档案+split()

本篇博客介绍了如何使用Python读取文件,并通过split(',')和split()函数进行内容分割,消除换行符( ),同时解释了split操作如何转换内容为列表,并展示了将读取内容存储到列表的实现过程。" 120980747,2093065,优化随机数生成:避免性能瓶颈,"['随机数', '性能优化', '并发编程', 'DPDK', '线程安全']
摘要由CSDN通过智能技术生成

最终程序

# 读取档案
products = []
with open('products.csv', 'r', encoding='utf-8') as f:
	for line in f:
		name, price = line.strip().split(',')
		products.append([name, price])
print(products)


while True:
	name = input('请输入商品名称:')
	if name == 'q':
		break
	price = input('请输入商品价格:')
	price = int(price)
	products.append([name, price])
print(products)

for p in products:
	print(p[0], '的价格是', p[1])

with open('products.csv', 'w', encoding='utf-8') as f:
	f.write('商品,价格\n')
	for p in products:
		f.write(p[0] + ',' + str(p[1]) + '\n')

1、增加读取档案程序

products = []
with open('products.csv', 'r') as f:
	for line in f:

要读取的文档:
在这里插入图片描述
要区分开商品和价格,要用逗号做分割

2、用.split(’,’)来用逗号做分割

		line.split(',')

split 切割
括号里的逗号的意思是 用逗号,来作为分割线

要分隔的东西.split('分隔符')

3、用.split()来除掉换行符号(\n)

在这里插入图片描述
要把每一行最后的\n去掉

		line.strip().split(',')

对line这个字串,先用strip()去掉\n,再用split(’,’)去切割
存为S 印出来

		s = line.strip().split(',')
		print(s)

执行

出现错误 因为编码
必须写入和读取都用一种编码才不会有问题
⚠️其实我也没有出现错误 可能是苹果电脑原因?

4、加上encoding='utf-8’来读取

所以增加encoding=‘utf-8’

with open('products.csv', 'r', encoding='utf-8') as f:
(base) liuruideMacBook-Pro:coding liurui$ python3 65.py
['商品', '价格']
['青菜', '220']
['蔬菜', '280']
请输入商品名称:

5、解释split完会变清单

这里显示成清单 因为用的是split切割
split切割完的结果是清单
所以s是一个一个的清单

		s = line.strip().split(',')
		name = s[0]
		price = s[1]
		print(s)

更简洁的写法:

		name, price = line.strip().split(',')

⚠️name, price不用写在[]里面
切割之后左边直接存成name,右边直接存成price

6、把读取到的内容装进清单

加入清单products(二维清单,大清单中有小清单)

	products.append([name, price])

印出products

执行

(base) liuruideMacBook-Pro:coding liurui$ python3 65.py
[['商品', '价格'], ['青菜', '220'], ['蔬菜', '280']]
请输入商品名称:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值