将excel文件导入python
Posted
技术标签:
【中文标题】将excel文件导入python【英文标题】:importing an excel file to python 【发布时间】:2017-05-14 13:37:37 【问题描述】:我有一个关于将 xlsx 文件导入 Python 的基本问题。我已经检查了许多关于同一主题的回复,但是无论我尝试什么,我仍然无法将我的文件导入 Python。这是我的代码和我收到的错误:
import pandas as pd
import xlrd
file_location = 'C:\Users\cagdak\Desktop\python_self_learning\Coursera\sample_data.xlsx'
workbook = xlrd.open_workbook(file_location)
错误:
IOError: [Errno 2] No such file or directory: 'C:\\Users\\cagdak\\Desktop\\python_self_learning\\Coursera\\sample_data.xlsx'
【问题讨论】:
你的问题是找不到文件,不是导入的问题:验证文件在你认为的路径下。 提示:您是否确认该位置中确实存在 xlsx 文件? 是的,确实如此。我在这里复制文件夹路径:C:\Users\cagdak\Desktop\python_self_learning\Coursera,excel文件的名称是:sample_data 【参考方案1】:使用 pandas 可以直接获取 Excel 文件的一列。这是代码。
import pandas
df = pandas.read_excel('sample.xls')
#print the column names
print df.columns
#get the values for a given column
values = df['column_name'].values
#get a data frame with selected columns
FORMAT = ['Col_1', 'Col_2', 'Col_3']
df_selected = df[FORMAT]
【讨论】:
谢谢,但我仍然收到“IOError: [Errno 2] No such file or directory”错误,尽管我 100% 确定文件位置和文件名是正确的。我花了将近 3 个小时来完成这项工作。 还需要做pip install xlrd
【参考方案2】:
您应该改用raw strings or escape your backslash,例如:
file_location = r'C:\Users\cagdak\Desktop\python_self_learning\Coursera\sample_data.xlsx'
或
file_location = 'C:\\Users\\cagdak\\Desktop\python_self_learning\\Coursera\\sample_data.xlsx'
【讨论】:
@CagdasKanar 你有读取文件的权限吗?如果你运行python -c "import os; print(os.stat(r'C:\Users\cagdak\Desktop\python_self_learning\Coursera\sample_data.xlsx'))"
会发生什么?
我应该在笔记本还是终端上运行这个?
在终端中执行该确切命令。如果您仍然收到“找不到文件”错误,我怀疑该文件不在您认为的位置,或者您无权访问该文件以供 python 读取。【参考方案3】:
继续尝试:
file_location = 'C:/Users/cagdak/Desktop/python_self_learning/Coursera/sample_data.xlsx'
【讨论】:
以上是关于将excel文件导入python的主要内容,如果未能解决你的问题,请参考以下文章
使用 pandas read_excel() 将 .xls 文件格式导入 python 时出现 CompDocError