目录
最终程序
# 读取档案
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']]
请输入商品名称: