Pandas读取\u csv忽略分号分隔Fi的转义字符

2024-05-19 07:07:00 发布

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

我试图加载一个分号分隔的txt文件,有几个实例中的转义字符在数据中。它们通常是<;(删除空格,以便不覆盖到<;),添加分号。这显然会弄乱我的数据,因为数据类型是导致读取问题的重要原因。有没有办法告诉熊猫在读取文件时忽略这些?你知道吗

我试着从文件中删除char,现在可以了,但是考虑到我想在数百万行上实现自动处理,这是不可持续的。你知道吗

df = pd.read_csv(file_loc.csv,
                 header=None, 
                 names=column_names, 
                 usecols=counters, 
                 dtype=dtypes,
                 delimiter=';', 
                 low_memory=False)
ValueError: could not convert string to float:

因为我的第一列是字符串,第二列是浮点,但是如果第一列被<;拆分,那么第二列也会被拆分。你知道吗

有没有办法告诉熊猫忽略这些或者在装载之前有效地移除它们?你知道吗


Tags: 文件csv数据实例lttxtdfnames
1条回答
网友
1楼 · 发布于 2024-05-19 07:07:00

给出以下示例csv文件so57732330.csv

col1;col2
1&lt;2;a
3;

我们在unescaping命名和数字html5字符引用之后使用StringIO阅读:

import pandas as pd
import io
import html

with open('so57732330.csv') as f:
    s = f.read()
f = io.StringIO(html.unescape(s))
df = pd.read_csv(f,sep=';')

结果:

  col1 col2
0  1<2    a
1    3  NaN

相关问题 更多 >

    热门问题