返回介绍

14.8 实践项目

发布于 2024-01-22 21:44:06 字数 1297 浏览 0 评论 0 收藏 0

作为实践,编程完成下列任务。

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,将这些电子表格解压缩到程序所在的目录中。可以使用这些文件来测试程序。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文