diff --git "a/17 \345\221\250\346\227\245\347\272\242/20260603 \346\226\207\344\273\266\346\223\215\344\275\234.md" "b/17 \345\221\250\346\227\245\347\272\242/20260603 \346\226\207\344\273\266\346\223\215\344\275\234.md" new file mode 100644 index 0000000000000000000000000000000000000000..6dd1490f25b420cd17d38e1f19429a38ef2cd53a --- /dev/null +++ "b/17 \345\221\250\346\227\245\347\272\242/20260603 \346\226\207\344\273\266\346\223\215\344\275\234.md" @@ -0,0 +1,107 @@ +**Excel = 一张纸质表格 / 一本花名册 / 一张课程表** + +- 整整齐齐**一行一行、一列一列** + +- 只能放**规整、对齐**的内容 + +- 适合给**人看**,打开一目了然 + +- 适合统计、算账、做通讯录、成绩表 + + ------ + + + +**JSON = 一段带标签的小纸条 / 一段结构化的日记** + +- 它**不是表格**,是**带名字的内容** +- 可以放**诗、文章、多层信息、长短不一的内容** +- 适合给**程序用**,但人也能看懂 +- 适合存:诗、个人信息、文章、配置、复杂内容 + +## CSV 语法笔记(表格文件) + +**用途**:存**表格数据**(通讯录、成绩表、多行多列) + +##### 1. 必须先导包 + +```python +import csv +``` + +##### 2. 写入 CSV(w = 覆盖写) + +```python +with open("文件.csv", "w", encoding="utf-8", newline="") as f: + writer = csv.writer(f) # 创建写入器 + writer.writerow([列1, 列2]) # 写一行 +``` + +##### 3. 追加 CSV(a = 添加) + +```python +with open("文件.csv", "a", encoding="utf-8", newline="") as f: + writer = csv.writer(f) + writer.writerow(["新数据1", "新数据2"]) +``` + +##### 4. 读取 CSV + +```python +with open("文件.csv", "r", encoding="utf-8") as f: + reader = csv.reader(f) + for row in reader: + print(row) # row 是列表:[姓名,电话] +``` + +#### ✅ CSV 口诀 + +- `w` 覆盖写 +- `a` 追加写 +- `reader` 读 +- `writer` 写 +- 一行 = 一个**列表** + +## JSON 语法笔记(结构化数据) + +**用途**:存**带名字的数据**(诗、文章、配置、对象) + +##### 1. 必须先导包 + +```python +import json +``` + +##### 2. 写入 JSON(存字典 / 列表) + +```python +数据 = {"标题": "xxx", "作者": "xxx"} + +with open("文件.json", "w", encoding="utf-8") as f: + json.dump(数据, f, ensure_ascii=False, indent=4) +``` + +`ensure_ascii=False`:**必须写,否则中文乱码** + +`indent=4`:格式化,好看 + +##### 3. 读取 JSON + +```python +with open("文件.json", "r", encoding="utf-8") as f: + 数据 = json.load(f) # 直接变回字典/列表 + +print(数据["键名"]) +``` + +#### ✅ JSON 口诀 + +- `dump` = 写入文件 +- `load` = 读取文件 +- 存的是:**字典 / 列表** +- 中文必须加:`ensure_ascii=False` + +#### CSV vs JSON 一句话区别 + +- **CSV**:像**表格**,一行一行,存同类数据 +- **JSON**:像**标签笔记**,存结构化内容(标题、作者、内容) \ No newline at end of file