Открытие и чтение excel.xlsx файл на python


Я пытаюсь открыть excel .xlsx файл с python, но не могу найти способ сделать это, я пробовал использовать pandas, но он хочет использовать библиотеку под названием NumPy я пытался установить numpy, но он все еще не может найти numpy.

Я также пытался использовать библиотеку xlrd, но я получаю следующую обратную связь:

Traceback (most recent call last):
  File "C:test.py", line 3, in <module>
    book = open_workbook('test.xlsx')
  File "C:Python27libsite-packagesxlrd__init__.py", line 370, in open_workbook
    biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
  File "C:Python27libsite-packagesxlrd__init__.py", line 1323, in getbof
    raise XLRDError('Expected BOF record; found 0x%04x' % opcode)
XLRDError: Expected BOF record; found 0x4b50

Что я предполагаю, потому что XLRD не может читать .файлы xlsx?

У кого-нибудь есть какие-нибудь идеи?

Правка:

import csv
with open('test.csv', 'rb') as csvfile:
    data = csv.reader(csvfile, delimiter=',')
    for row in data:
        print "------------------"
        print row
        print "------------------"
        for cell in row:
            print cell
3 6

3 ответа:

Может быть, вы могли бы экспортировать свой .XLSX в .csv-файл?

Тогда вы можете попробовать:

import csv
with open('file.csv','rb') as file:
    contents = csv.reader(file)
    [x for x in contents]

Это может быть полезно.: http://docs.python.org/2/library/csv.html#csv.reader

Надеюсь, это поможет!

Правка:

Если вы хотите найти конкретную ячейку, такую как F13, вы можете создать вложенный список, подобный матрице, и они ссылаются на каждый элемент:

import csv
with open('file.csv','rb') as file:
    contents = csv.reader(file)
    matrix = list()
    for row in contents:
        matrix.append(row)

, а затем получить доступ к F13 с помощью matrix[5][12].

P. S.: Я не проверить это. Если "строка" - это список с каждой ячейкой как элемент, вы продолжаете добавлять все строки в матрицу, поэтому первый индекс - это номер строки, а второй-номер столбца.

Похоже, что вы находитесь на дистрибутиве Linux. У меня тоже была такая же проблема, и это происходит не с библиотекой" xlwt", а только с"xlrd". то, что я сделал, не является правильным способом решения этой проблемы, но это заставляет вещи работать в настоящее время, чтобы надеяться, что скоро будет ответ на этот вопрос ;я установил "xlrd" на Windows, взял папку и вставил ее в Linux в каталог, где мой код python, и он работал.

Поскольку я знаю, что другие люди также будут читать это -

Вы можете установить следующий модуль (он не существует автоматически) https://pypi.python.org/pypi/openpyxl

Вы можете прочитать следующее, Чтобы получить хорошую разбивку о том, как его использовать

Https://automatetheboringstuff.com/chapter12/