【问题标题】:Reading data files with no data between delimiters读取分隔符之间没有数据的数据文件
【发布时间】:2017-12-08 21:30:20
【问题描述】:

我有一个用竖线分隔的数据文件,但有时空值在两个分隔符之间没有数据,导致分隔符被放置在相应的列中,而后面的列被填充为 NaN 值。

我创建数据框的代码:

for DF_Exec in pd.read_table(ExecSrcFile, sep='|', chunksize=5000, header=1, low_memory=False, na_filter=True, index_col=False):
    # process data here

文件中的每一行都是 212 列,但我将提供一个示例说明哪些情况不起作用

...|80|strdata|\x00|90.0| |...

这些都很好用。分隔符之间的空格或空符号将被很好地处理。

...|80|strdata|||strdata|...

这将映射到 4 列,而不是 5 列,这会导致最后一个预期列中出现空值。在这种情况下,第 3 列仅包含一个 | 字符。

出现此问题的实际数据的 sn-p:

...|0||||||USD|...

因为文件很大,所以想避免逐行处理,在分隔符之间加空格的方案。使用 pandas 或其他包来处理此类问题是否有另一种更有效的选择?

【问题讨论】:

  • 您要加载什么样的文件? .txt、.csv、.xls、.xlsx、.dat??
  • 文件是一大块竖线分隔的文本

标签: python pandas


【解决方案1】:

您是否尝试过使用 pandas.read_csv(ExecSrcFile, sep='|') ?

【讨论】:

  • read_csv 和 read_table 在你更改sep 参数时是同一个函数,所以这两种方法都有同样的问题。
猜你喜欢
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 2016-07-24
  • 1970-01-01
  • 2011-08-15
相关资源
最近更新 更多