在python脚本中从一个csv工作表移动到下一个

问题描述

|| 我一直在使用excel创建我想使用python解析的.csv工作表。每个工作表都以商店命名(例如工作表1:\“ Waitrose \”,工作表2:\“ Tesco \”,工作表3:\“ Asda \”),并包含产品列表(第1列)及其相关价格(第2列)。我已经编写了一个python脚本,该脚本可以访问工作表并将内容转换为字典(请参见下文),但是正在努力寻找一种方法来使程序访问工作簿中的下一个工作表。我想最终得到与工作表一样多的字典。 csv模块似乎并没有太大帮助,我找不到当前与excel兼容的第三方python 3兼容模块。我在想也许是applescript,但不确定如何将其嵌入python脚本中   waitrose = {\'苹果\':25,\'橙色\':45,等等} 有什么建议么? 保罗     

解决方法

        每个工作表必须另存为单独的CSV。由于您已经能够解析单个CSV,因此我将集中精力处理单个文件。每个Excel工作表都有CSV文件后,就可以使用
glob
模块遍历目录中的每个
.csv
文件。使用
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...
    ,        我没有用过,但是您看过xlrd模块吗?它似乎可以处理读取包括工作表在内的常规Excel文件。 https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...