如何在 python 中导入 CSV 文件?

Posted

技术标签:

【中文标题】如何在 python 中导入 CSV 文件?【英文标题】:How can I import a CSV file in python? 【发布时间】:2020-01-10 15:59:30 【问题描述】:

我正在尝试使用 python 中的 pandas 库(使用 spyder (Python 3.7))从 CSV 文件中读取,但出现错误

Traceback(最近一次通话最后一次):

文件“”,第 1 行,在 数据集 = pd.read_csv('Data.csv')

文件 "\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py", 第 702 行,在 parser_f 中 return _read(filepath_or_buffer, kwds)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py", 第 435 行,在 _read 数据 = parser.read(nrows)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py", 第 1154 行,读取中 df = DataFrame(col_dict, columns=columns, index=index)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py", 第 392 行,在 init 中 mgr = init_dict(数据、索引、列、dtype=dtype)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py", 第 212 行,在 init_dict 中 return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py", 第 56 行,在 arrays_to_mgr 中 arrays = _homogenize(arrays, index, dtype)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py", 第 277 行,在 _homogenize raise_cast_failure=False)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py", 第 582 行,在 sanitize_array subarr = _try_cast(data, True, dtype, copy, raise_cast_failure)

文件 "\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py", 第 720 行,在 _try_cast 中 subarr = np.array(arr, dtype=object, copy=copy)

TypeError: 'numpy.ndarray' 对象不可调用

我已将 numpy 库导入为 np,将 pandas 库导入为 pd;工作目录已正确设置为与文件保存位置相同。

import pandas as pd
datasets = pd.read_csv('Data.csv')

以下是我目前正在处理的数据: Data

【问题讨论】:

你能提供一些你的 csv 吗?您是否在没有其他任何内容的情况下尝试了这个确切的代码,但它仍然失败?我没有,我们需要更多信息。 您的 csv 似乎是制表符或空格分隔,请尝试使用 sep 参数,例如:pd.read_csv('Data.csv', sep=' ') 调用看起来正确 - 用于常见的 csv 文件和 pandas 设置。那么你的情况有什么不同?该文件的样本可能会有所帮助。错误的回溯可能会有所帮助。如果您需要帮助,您需要提供更多信息。否则我们会猜测。 每当您报告 Python 错误时,请在问题中包含 complete 回溯(即完整的错误消息)。里面有有用的信息。 @Derlin,我已经在问题中添加了数据,我尝试使用其他 CSV 文件以及制作一个新的 CSV 文件。两次我都得到了同样的错误。一个有 1 行的文件被成功读取,其他文件失败。我也尝试使用sep 参数,它仍然给了我同样的错误。谢谢! 【参考方案1】:

实际上您的文件(data.csv)不是 csv 文件。它是PNG格式。所以,你可以在 python 中使用 PIL 模块。

from PIL import Image

imframe = Image.open('data.csv')
imframe

【讨论】:

以上是关于如何在 python 中导入 CSV 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中导入 CSV 文件? [关闭]

如何更新/覆盖当前在 R 中导入的 csv 文件

如何在R中导入CSV文件? [关闭]

如何在 PIG 中导入/加载 .csv 文件?

如何在 R 中导入文件名中包含特定单词的 .csv 文件?

如何使用 read_csv 从文件中导入某些行