【问题标题】:Reading just range of rows from one csv file in Python using pandas使用 pandas 从 Python 中的一个 csv 文件中仅读取一系列行
【发布时间】:2019-02-08 15:57:49
【问题描述】:

我正在尝试使用 Python 和 Pandas 读取 csv 文件,但我的文件很大(1 GB),因此我无法读取所有数据。 通过这个网站,我学会了使用 nrows 从文件中读取行,例如读取前 75 行,但我无法读取一系列行。

dts = pd.read_csv('C:\DtsPMU\dts.csv', dtype=float , nrows=75)

此链接Python Pandas reads_csv skip first x and last y rows 谈到使用这样的代码:

dts = pd.read_csv('C:\DtsPMU\dts.csv', dtype=float , skiprows=60, nrows=75)

该代码我尝试只读取范围行(从 60 到 75 开始),但它不起作用。

如何从我的 csv 文件中读取行范围?

我使用 Python 3.6.5 和 Pandas 0.23.2

【问题讨论】:

标签: python pandas csv


【解决方案1】:

这段代码运行良好

dts = pd.read_csv('C:\DtsPMU\dts.csv', dtype=float , skiprows=60, nrows=75)

唯一的问题是它将第60行作为标题,如果你想要原始标题然后使用

names : 类数组,默认无 要使用的列名列表。如果文件不包含标题行,那么您应该显式传递 header=None。此列表中的重复项将导致发出 UserWarning。

例如:如果你的文件有 3 列,那么

dts = pd.read_csv('C:\DtsPMU\dts.csv', dtype=float , skiprows=60, nrows=75, names=[0,1,2])

【讨论】:

  • 我的文件只有一列我使用这些代码: dts = pd.read_csv('C:\DtsPMU\dts.csv', dtype=float , skiprows=60, nrows=75, names =[0]) dts = pd.read_csv('C:\DtsPMU\dts.csv', dtype=float , skiprows=60, nrows=75, names=[1]) 但不起作用。
  • 无论你得到什么,你能显示输出或错误吗?
猜你喜欢
  • 2014-03-21
  • 2022-01-07
  • 2015-04-07
  • 2021-06-01
  • 1970-01-01
  • 2020-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多