当前位置:首页>python>Python小白成长记 · 第14课(下)| CSV 与 JSON 习题 & 实践项目

Python小白成长记 · 第14课(下)| CSV 与 JSON 习题 & 实践项目

  • 2026-10-11 07:44:34
Python小白成长记 · 第14课(下)| CSV 与 JSON 习题 & 实践项目
大家好,我是 星源,一个正在自学 Python 的 19 岁编程小白 🤓。今天我们继续来学习  处理 CSV 文件和 JSON 数据!

📌 今日学习内容  

👉 “我们把 习题答案全部过一遍,再亲手跑一遍 Excel → CSV 实战项目!”


✨ 知识点讲解  

📑习题 答案

题号
1在 Excel 中,电子表格的值可以是字符串以外的数据类型,单元格可以有不同的字体、大小或颜色设置,单元格可以有不同的宽度和高度,相邻的单元格可以合并,可以嵌入图像和图表。
2传入一个 File 对象,通过调用 open() 获得。
3对于 Reader 对象,File 对象需要以读二进制模式('rb')打开;对于 Writer 对象,需要以写二进制模式('wb')打开。
4writerow() 方法。
5delimiter 参数改变了分隔一行中单元格所用的字符串;lineterminator 参数改变了分隔行的字符串。
6json.loads()
7json.dumps()

🛠️ 实践项目( 

项目标题:Excel 到 CSV 的转换程序  

需求

Excel 可以将电子表格保存为 CSV 文件,只要点几下鼠标,但如果有几百个 Excel 文件要转换为 CSV,就需要点击几小时。利用第 12 章的 openpyxl 模块,编程读取当前工作目录中的所有 Excel 文件,并输出为 CSV 文件。一个 Excel 文件可能包含多个工作表,必须为每个表创建一个 CSV 文件。CSV 文件的文件名应该是 <Excel文件名>_<表标题>.csv,其中 <Excel文件名> 是没有扩展名的 Excel 文件名(例如 'spam_data',而不是 'spam_data.xlsx'),<表标题> 是 Worksheet 对象的 title 变量中的字符串。该程序将包含许多嵌套的 for 循环。该程序的框架看起来像这样:

forexcelFileinos.listdir('.'):# Skip non-xlsx files, load the workbook object.forsheetNameinwb.get_sheet_names():# Loop through every sheet in the workbook.sheet=wb.get_sheet_by_name(sheetName)# Create the CSV filename from the Excel filename and sheet title.# Create the csv.writer object for this CSV file.# Loop through every row in the sheet.forrowNuminrange(1, sheet.get_highest_row() +1):rowData= []  # append each cell to this list# Loop through each cell in the row.forcolNuminrange(1, sheet.get_highest_column() +1):# Append each cell's data to rowData.# Write the rowData list to the CSV file.csvFile.close()

 提示:  

  • 从 http://nostarch.com/automatestuff/ 下载 ZIP 文件 excelSpreadsheets.zip,将这些电子表格解压缩到程序所在目录中,用来测试程序。  

  • 完成后,你会得到每个工作表对应的 CSV 文件,命名格式完全符合要求。  


✅ 总结  

  1. 14.7 习题 7 问 7 答,全部背下来,面试能秒答。  

  2. 14.8 实践项目 = openpyxl + csv 双剑合璧,4 层嵌套循环,写一次就彻底掌握两大模块。  

  3. 完成后记得用 提供的 excelSpreadsheets.zip 做回归测试,确保文件名、空行、编码都符合预期。  


📢 互动提问  

👉 做完项目后,你生成的 CSV 打开有没有中文乱码?你是怎么解决编码问题的?留言区等你分享经验!

最新文章

随机文章