问题描述
||
我一直在使用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