作为实践,编程完成下列任务。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 循环。该程序的框架看起来像这样:
for excelFile in os.listdir('.'):
# Skip non-xlsx files, load the workbook object. for sheetName in wb.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.
for rowNum in range(1, sheet.get_highest_row() + 1): rowData = [] # append each cell
to this list
# Loop through each cell in the row.
for colNum in range(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,将这些
电子表格解压缩到程序所在的目录中。可以使用这些文件来测试程序。