CSV 表格
CSV 是由文本行组成的表格。每一行就是表格的一行,逗号标出单元格的边界。上一页把一个字典放进了一行里。这里这一行本身就是表格的一行。不会打开任何文件。这些行放在内存里的文本盒中。
import csv
from io import StringIO
box = StringIO()
pen = csv.writer(box)
pen.writerow(["name", "city"])
pen.writerow(["mina", "qom"])
pen.writerow(["lida", "yazd, iran"])
print(box.getvalue(), end="")
屏幕上有三行。第一行是 name,city,这是标签,不是客人。第二行是 mina,qom,也就是 mina 和 qom 两个单元格。第三行是 lida,"yazd, iran"。因为城市名里本身有逗号,所以加了引号。end="" 告诉 print 不要自己再加换行,所以屏幕到第三行就结束。盒子里的内容本来就以换行结尾。
import csv
from io import StringIO
text = "name,city\nmina,qom\nlida,\"yazd, iran\"\n"
box = StringIO(text)
rows = list(csv.reader(box))
print(rows[1][0])
print(rows[2][1])
屏幕上先显示 mina,再显示 yazd, iran。这个程序从头开始,不会再运行写入的那部分。rows[1][0] 是第二行的第一个单元格,也就是客人 mina。rows[2][1] 是城市 yazd, iran。引号不属于城市。这一行仍然只有两个单元格。iran 仍和 yazd 在一起。
如果你自己在每个逗号处切开第三行,iran 看起来就像第三个单元格。读取器不会在那里切。引号只标出一个单元格,然后就去掉了。这些程序里没有 open,没有 Path,没有 JSON,也没有任何内容存进文件。
下一页是模块。这一页只写入行,再读出单元格。
先是行,再是单元格
第一个程序的屏幕是 name,city,然后是 mina,qom,再然后是 lida,"yazd, iran"。读取器随后显示 mina 和 yazd, iran。引号不属于城市。不会打开任何文件。下一页是模块。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部