2013-10-16 18 views
13

Tôi có một bài tập để đọc dữ liệu excel trong Python. Tôi đã cài đặt Python 2.7. Tôi đã thử cài đặt xlrd0.8.0 với các lệnh sau trong Windows.vấn đề nhập xlrd với Python 2.7

C:\Python27\xlrd-0.8.0>python setup.py build 
running build 
running build_py 
creating build 
creating build\lib 
creating build\lib\xlrd 
copying xlrd\biffh.py -> build\lib\xlrd 
.... 


C:\Python27\xlrd-0.8.0>python setup.py install 
running install 
running build 
running build_py 
running build_scripts 
running install_lib 
running install_scripts 
running install_egg_info 
Writing C:\Python27\Lib\site-packages\xlrd-0.8.0-py2.7.egg-info 

Tôi không nhận được bất kỳ thông báo lỗi nào trong khi cài đặt. Tôi cũng thấy xlrd-0.8.0 thư mục trong trang web gói trong thư mục/lib ...

Nhưng khi tôi cố gắng nhập nó, Python là không thể nhận ra nó ...

>>> import xlrd 
Traceback (most recent call last): 
File "<pyshell#2>", line 1, in <module> 
import xlrd 
ImportError: No module named xlrd 

Can bạn đề nghị làm thế nào để tìm ra vấn đề?

+0

Phiên bản IDLE bạn đang thực hiện 'nhập xlrd' bằng cách sử dụng cùng một Python như dòng lệnh? –

+0

Tôi đã thử mở một phiên IDLE khác và có vẻ như nó đã hoạt động. IDLE khác có Python 2.7.2.5 trong khi IDLE có vấn đề là 2.7.5 ... – user2607677

+0

Mở một trình bao python tương tác. 'import sys; print sys.path' Điều này trở lại là gì? Nó sẽ cho bạn thấy tất cả các đường dẫn của nó là kiểm tra cho một mô-đun. Xác nhận rằng lib của bạn nằm trong một trong các đường dẫn đó. – gregb212

Trả lời

22

Làm thế nào để tái tạo và sửa chữa lỗi này:

Mở dịch viên python, cố gắng nhập xlrt, bạn nhận được một lỗi:

python 
>>> import xlrt 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named xlrt 

1. Cài đặt, hoặc đảm bảo pip là cài đặt:

What is the official "preferred" way to install pip and virtualenv systemwide?

2. Cài đặt xlrd

pip install xlrd 

Protip: Nếu bạn cảm thấy bạn phải sử dụng sudo pip install .... để có được điều này để làm việc thì bạn cần phải dừng lại và tìm hiểu tại sao đây là nguy hiểm. Xem: What are the risks of running 'sudo pip'?

Cách giải quyết là cài đặt pip bằng một người dùng nhất định: pip install --user myuser ... sử dụng phán đoán tốt nhất của riêng bạn tại đây. Đảm bảo rằng thư mục mà pip của bạn đang hoạt động được sở hữu bởi người dùng đang cố gắng cài đặt các gói ở đó. Sử dụng: chown -R $USER /Library/Python/2.7/site-packages.

3. Kiểm tra nó trên dịch viên python:

python 
>>> import xlrd 

>>> type(xlrd) 
<type 'module'> 
>>> 

Bây giờ nó được nhập khẩu nó mà không có một vấn đề, xlrd là một mô-đun python.

Gỡ rối:

Nếu PYTHONPATH của bạn không được xác định, bạn nên xác định nó:

PYTHONPATH=:/home/el/wherever/where_to_find_modules 
+1

Tránh sử dụng sudo pip. Chỉ cần pip là đủ. Xem http://stackoverflow.com/questions/21055859/what-are-the-risks-of-running-sudo-pip –

0

Vui lòng thêm "C: \ Python27 \ Lib \ site-packages \" để PYTHONPATH của bạn trong biến hệ thống của bạn.

Nếu không có hệ thống biến như vậy, xin vui lòng tạo ra nó:

  1. Kích chuột phải vào biểu tượng My Computer trên desktop và chọn Properties.
  2. Nhấp vào tab Nâng cao, sau đó nhấp vào nút Biến môi trường.
  3. Dưới Biến hệ thống, hãy nhấp vào Mới.
  4. Nhập tên biến là PYTHONPATH.
  5. Nhập giá trị biến là C: \ Python27 \ Lib \ site-packages \
  6. Nhấp vào OK.
  7. Nhấp vào Áp dụng thay đổi.
2

Giải quyết vấn đề với nhập khẩu xlrd bằng Python 2.7

mở liên kết này https://bootstrap.pypa.io/get-pip.py và save as get-pip.py và sao chép file này vào C: \ Python2.7 \

C:\Python2.7\python.exe get-pip.py 

Sau khi pip này được cài đặt trong hệ thống của bạn bây giờ cài đặt xlrd

C:\Python2.7\python.exe -m pip install xlrd 

Op vi python và nhập xlrd

import xlrd 

nó sẽ hoạt động.

+0

Làm việc cho tôi, đường dẫn không phải là C: \ Python, nó là - C: \ Users \ MyUserName \ AppData \ Local \ Programs \ Python \ Python36-32, nhưng nó hoạt động, cảm ơn bạn! –

0

Đối với tôi, chạy python trong spyder trên mac, nó đã không làm việc ngay cả sau khi tôi cài đặt xlrd sử dụng pip, bởi vì nó đã được cài đặt vào một vị trí khác so với cái spyder đã sử dụng. Để khắc phục điều này, đầu tiên tôi tìm thấy nơi xlrd đã được cài đặt để:

$pip install xlrd 
Requirement already satisfied: xlrd in /usr/local/lib/python2.7/site-packages 

Sau đó, sao chép thư mục xlrd từ đó vào nơi Spyder có thể truy cập vào nó:

$cd /Applications/Spyder.app/Contents/Resources/lib/python2.7/ 
$cp -r /usr/local/lib/python2.7/site-packages/xlrd. 

Sau đó cập nhật các module trong spyder, nhưng tôi không chắc liệu điều này có cần thiết không. Khởi động lại Spyder cũng có thể đã hoạt động sau khi thực hiện những thay đổi đó.

1

Nếu bạn đang sử dụng conda,

conda install xlrd 
0

tôi đã cùng một vấn đề, có vẻ như là tốt hơn nếu bạn xuất xlsx sang định dạng file csv và sau đó chạy sau đây trên python

df = pd.read_csv('FileName.csv') 

Nó sẽ hoạt động như thế. Nếu bạn đang sử dụng iPython hoặc thậm chí tốt hơn Jupyter sau đó chạy df.head() để kiểm tra xem gấu trúc có đọc bảng của bạn đúng cách không.

Lưu ý, tôi đang sử dụng Ubuntu

Các vấn đề liên quan