首页 > 解决方案 > 读取 TXT 或 CSV 或 XLS 或 XLSX 的第一列

问题描述

我需要将一个文档的第一列解析成一个列表['item1', 'item2', ...],这个文档可以是:

我正准备用很多情况对其进行编码:

ext = os.path.splitext(f)[1].lower()
if ext == '.txt':
    with open(f, 'r') as f:
        L = f.read().splitlines()
if ext == '.csv':
    reader = csv.reader(...)
    ...
if ext == '.xls':
    ...

但是Python 中是否有一个通用的高级工具可以直接完成所有这些工作?

标签: pythonexcelcsvxlsxxls

解决方案


pyexcel库是一个高级抽象,需要使用一致的接口处理不同格式的数据文件:

pyexcel提供了一个应用程序编程接口来读取、操作和写入不同 excel 格式的数据。该库使涉及 excel 文件的信息处理成为一项令人愉快的任务。excel文件中的数据可以用最少的代码转换成数组或字典,反之亦然。该库专注于使用 excel 文件作为存储媒体的数据处理,因此字体、颜色和图表没有也不会被考虑。

一个简单的示例用法如下所示:

>>> import pyexcel as pe
>>> records = pe.iget_records(file_name="your_file.xls")
>>> for record in records:
...     print("%s is aged at %d" % (record['Name'], record['Age']))

推荐阅读