如何在Python中将CSV列读取为字符串

时间:2019-06-05 22:00:24

标签: python pandas csv

我用熊猫编写了代码,以便传递CSV并检索列,然后我有更多的代码应该使用re库来拆分数据,但是会引发错误,指出“ TypeError:期望的字符串或类似字节的对象。”

我相信我只需要在运行re之前将CSV转换为字符串即可,但是我不知道怎么做。

CSV列中的数据如下:“ HB1.A1D62no.0016,HB31.N33NO.89,HB 54 .N338”

import pandas as pd

data = pd.read_csv('HB_Lib.csv', delimiter = ',')
s = [data[['Call Number']]]

import re

pattern = r"(^[a-z]+)\s*(\d+(?:\.\d+)?)"
print(list(map("".join, [re.findall(pattern, part, flags=re.I)[0] for part in s])))

跟踪:

Traceback (most recent call last):

  File "C:/Python/test2.py", line 8, in <module>
    print(list(map("".join, [re.findall(pattern, part, flags=re.I)[0] for part in s])))

  File "C:/Python/test2.py", line 8, in <listcomp>
    print(list(map("".join, [re.findall(pattern, part, flags=re.I)[0] for part in s])))

  File "C:\Python37\lib\re.py", line 223, in findall
    return _compile(pattern, flags).findall(string)

TypeError: expected string or bytes-like object

2 个答案:

答案 0 :(得分:0)

data['Call Number'] = data['Call Number'].astype(str)

答案 1 :(得分:0)

我认为您应该做的第一件事是在声明s时移除外部方形制动盘。

因此,获得类似的内容

a = data[['something']]