将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的主要内容,如果未能解决你的问题,请参考以下文章

将excel文件列导入python脚本

使用 pandas read_excel() 将 .xls 文件格式导入 python 时出现 CompDocError

python如何将txt文件导入excel

python将txt导入到excel

怎么用python语言将txt文件的内容,导入excel中??

将不同文件中的多个excel表导入python并将它们连接到一个数据框中