0

我一直在使用 excel 创建我想使用 python 解析的 .csv 工作表。每个工作表都以商店命名(例如工作表 1:“Waitrose”,工作表 2:“Tesco”,工作表 3:“Asda”)并包含产品列表(第 1 列)及其相关价格(第 2 列)。我编写了一个 python 脚本,可以访问工作表并将内容转换为字典(见下文),但我正在努力寻找一种方法让程序访问工作簿中的下一个工作表。我想最终得到与工作表一样多的字典。csv 模块似乎没有太大帮助,我找不到当前与 excel 打交道的第三方 python 3 兼容模块。我在想可能是applescript,但不确定如何将它嵌入到python脚本中

waitrose = {“苹果”:25,“橙子”:45 等}

有什么建议么?

保罗。

4

2 回答 2

3

每个工作表必须保存为单独的 CSV。由于您已经能够解析单个 CSV,因此我将专注于处理单个文件。为每个 Excel 工作表生成 CSV 文件后,您可以使用该模块遍历.csv目录中的每个文件。glob您可以在glob.glob()路径中使用通配符,因此如果您只想要.csv目录中的文件,请使用*.csv通配符。

import glob
import os

for csvFilename in glob.glob("C:\\path-to-folder-with-csv\\*.csv"):
    # csvFilename now contains the full path to the next CSV in the folder

    # This will give us the basename of the file without the extension
    worksheet = os.path.basename(os.path.splitext(csvFilename)[0])

    if worksheet.lower() == "waitrose":
        # Parse Waitrose CSV...

    elif worksheet.lower() == "tesco":
        # Parse Tesco CSV...

    elif worksheet.lower() == "asda":
        # Parse Asda CSV...
于 2011-05-27T15:02:16.813 回答
1

我没用过,但你看过 xlrd 模块吗?它似乎可以处理读取常规 Excel 文件,包括工作表。

https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html

于 2011-05-27T17:05:04.547 回答