Открытие и чтение excel.xlsx файл в python
Я пытаюсь открыть excel .xlsx файл с python, но не могу найти способ сделать это, я пробовал использовать панды, но он хочет использовать библиотеку под названием 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?
у кого-нибудь есть идеи?
EDIT:
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 ответов
может быть, вы могли бы экспортировать .xlsx к a .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
надеюсь, что это поможет!
EDIT:
Если вы хотите найти спектифицированную ячейку, такую как 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
вы можете прочитать следующее, Чтобы получить хорошую разбивку о том, как его использовать