我有一个以管道分隔的数据文件,但有时空值不会在两个分隔符之间有数据,导致分隔符字符放在相应的列中,后面的列用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列仅包含|
个字符。
显示此问题的实际数据片段:
...|0||||||USD|...
因为文件非常大,我想避免逐行处理它以在分隔符之间添加空格的解决方案。是否有另一种更有效的选择来使用pandas或其他包处理这类问题?
答案 0 :(得分:0)
您是否尝试过使用pandas.read_csv(ExecSrcFile, sep='|')
?