如何在以破管“¦”作为分隔符的数据集中使用read_csv???
How to use read_csv in dataset with broken pipe "¦" as seprator???
我有 10 个 10mb 到 8gb 的文件数据集,我正在尝试读取一个大小为 8gb 的数据集 txt,由于“¦”(断管)我无法读取...几乎所有文件的大小都大于200mb 有同样的问题,最小的文件有 "normal" 管道( | )。
密码是:
p = 0.001 # % of lines
df = pd.read_csv("protectedSearch_GPRS.txt", sep='¦',
skiprows= lambda i: i>0 and random.random() > p)
ParserWarning: Falling back to the 'python' engine because the separator
encoded in utf-8 is > 1 char long, and the 'c' engine does not support such
separators; you can avoid this warning by specifying engine='python'.
after removing the cwd from sys.path.
那么它到底是什么?这是一个错误吗?如何处理这个问题?我想用 2 天时间解决这个问题,但我真的不知道还能做什么。
非常感谢您,对于任何语言错误,我们深表歉意。
不是错误。 Pandas C 引擎仅支持 single-character 拆分。破管道在技术上是两个 UTF-8 字符,因此错误 character is > 1
例如:
len('¦'.encode('utf-8'))
Out[24]: 2
len(','.encode('utf-8'))
Out[25]: 1
如果您想取消警告,请明确说明您希望使用哪个引擎:
df = pd.read_csv(
"protectedSearch_GPRS.txt",
sep='¦',
skiprows=lambda i: i > 0 and random.random() > p,
engine='python'
)
使用 engine=python
启用 multi-string/regex 拆分匹配。
我有 10 个 10mb 到 8gb 的文件数据集,我正在尝试读取一个大小为 8gb 的数据集 txt,由于“¦”(断管)我无法读取...几乎所有文件的大小都大于200mb 有同样的问题,最小的文件有 "normal" 管道( | )。
密码是:
p = 0.001 # % of lines df = pd.read_csv("protectedSearch_GPRS.txt", sep='¦', skiprows= lambda i: i>0 and random.random() > p) ParserWarning: Falling back to the 'python' engine because the separator encoded in utf-8 is > 1 char long, and the 'c' engine does not support such separators; you can avoid this warning by specifying engine='python'. after removing the cwd from sys.path.
那么它到底是什么?这是一个错误吗?如何处理这个问题?我想用 2 天时间解决这个问题,但我真的不知道还能做什么。
非常感谢您,对于任何语言错误,我们深表歉意。
不是错误。 Pandas C 引擎仅支持 single-character 拆分。破管道在技术上是两个 UTF-8 字符,因此错误 character is > 1
例如:
len('¦'.encode('utf-8'))
Out[24]: 2
len(','.encode('utf-8'))
Out[25]: 1
如果您想取消警告,请明确说明您希望使用哪个引擎:
df = pd.read_csv(
"protectedSearch_GPRS.txt",
sep='¦',
skiprows=lambda i: i > 0 and random.random() > p,
engine='python'
)
使用 engine=python
启用 multi-string/regex 拆分匹配。