Eric Gazoni写了openpyxl读/写xlsx文件更多详细信息可从他的博客和任何Python编码器的代码库想要尝试它
晚会有点晚,但xlrd现在本机支持xlsx 。 我使用pip install xlrd --upgrade从命令提示符( WindowsKey + R然后cmd )从0.6.0更新到0.8.0 ,现在它读取xlsx没有任何问题。
这是一个非常粗糙的实现,只使用标准库。
def xlsx(fname): import zipfile from xml.etree.ElementTree import iterparse z = zipfile.ZipFile(fname) strings = [el.text for e, el in iterparse(z.open('xl/sharedStrings.xml')) if el.tag.endswith('}t')] rows = [] row = {} value = '' for e, el in iterparse(z.open('xl/worksheets/sheet1.xml')): if el.tag.endswith('}v'): # 84 value = el.text if el.tag.endswith('}c'): # 84 if el.attrib.get('t') == 's': value = strings[int(value)] letter = el.attrib['r'] # AZ22 while letter[-1].isdigit(): letter = letter[:-1] row[letter] = value value = '' if el.tag.endswith('}row'): rows.a