Pandas似乎已经死了。它将自动重新启动

2024-04-27 11:08:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用以下代码加载包含43186行的CSV文件:

import csv
import pandas as pd

df = pd.read_csv('file.csv', sep=',', engine='python', error_bad_lines=False)

它输出

Skipping line 2574: field larger than field limit (131072)
Skipping line 892: Expected 13 fields in line 892, saw 15
Skipping line 6376: Expected 13 fields in line 6376, saw 15
Skipping line 35433: Expected 13 fields in line 35433, saw 15

在内核最终死亡之前。我尝试了一些其他更大的CSV,同样的代码适用于其他CSV。我怎样才能解决这个问题?我可以跳过台词。我试图用csv.field_size_limit(sys.maxsize)增加限制 但它也不起作用。我从第35433行浏览到最后,那里没有更多的坏行,如果确实存在坏行,它应该被error_bad_lines=False跳过,对吗?任何帮助都将不胜感激


Tags: csv代码inimportfieldfieldslineerror
1条回答
网友
1楼 · 发布于 2024-04-27 11:08:29

field larger than field limit (131072)

这可能意味着解析器将多个(很多)行视为一个多行字段

所以csv文件中的引用肯定有问题

一种解决方案(除了修复csv文件外)可能是以某种方式告诉解析器不要使用/扫描多行字段-这会将该行标记为无效

或者csv文件根本不使用带引号的字段(这将允许在字段内使用引号)。在这种情况下,您应该告诉解析器字段没有被引用

相关问题 更多 >