gpt4 book ai didi

python - 如何在数据集中使用 read_csv 并以损坏的管道 "¦"作为分隔符???

转载 作者:行者123 更新时间:2023-12-01 02:04:50 25 4
gpt4 key购买 nike

我有 10 个文件数据集,大小为 10mb 到 8gb,我正在尝试读取大小为 8gb 的数据集 txt,但由于“¡”(管道损坏)而无法读取...几乎所有大小最高超过 200mb 的数据集都有同样的问题,最小的文件具有“正常”管道(|)。

代码是:

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.

那么它到底是什么?这是一个错误吗?如何处理这个问题?我试图用两天的时间来解决这个问题,但我真的不知道还能做什么。

非常感谢您,并对任何语言错误表示歉意。

最佳答案

不是错误。 Pandas C 引擎仅支持单字符拆分。从技术上讲,损坏的管道是两个 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 可以进行多字符串/正则表达式拆分匹配。

关于python - 如何在数据集中使用 read_csv 并以损坏的管道 "¦"作为分隔符???,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49185572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com