您好,我希望能够从 Excel 文件中提取数据。与“导出”相反,提取会以某种方式打开 Excel 文件,读取特定行列范围内的所有单元格,并将这些单元格的内容写入 .txt 文件。该范围的内容是数字或文本,因此不存在转换问题。
我更愿意不进入 Excel 并使用另存为或复制粘贴功能来完成此操作。
我的环境是 OS X Yosemite,我很乐意尝试使用 Python 或 bash 来实现这一点。目前使用 Excel 2011 来实现这一点,不过可以使用更高版本的 Office for Mac。
谢谢!
答案1
开放的PYXL是一个用于读取和操作文件的 Python 库.xlsx
。示例用法在其文档页面:
>>> from openpyxl import load_workbook
>>> wb = load_workbook(filename = 'empty_book.xlsx')
>>> sheet_ranges = wb['range names']
>>> print(sheet_ranges['D18'].value)
3
例子
from openpyxl import load_workbook
wb = load_workbook(filename = 'sample.xlsx')
ws = wb['Sheet1']
with open('sample.txt', 'w') as f:
myrange = ws['A1':'C4']
for c1, c2, c3 in myrange:
print(c1.value, c2.value, c3.value, file=f)
该工作表Sheet1
生成一个文本文件,其输出内容如下:
1 5 Nine
Two Six 1923-01-07 00:00:00
3 7 Tiger
40 8 Lion