我正在尝试使用Pandas的read_csv读取CSV文件。我正在读取的文件包含以下内容:
“鲍勃”,“汽车”,“鲍勃的车”
我的问题是所有字段都用单引号引起来(据我了解,这是一个文本限定符),但是某些字段也包含单引号。这是我正在使用的代码:
import pandas as pd
data = pd.read_csv(r"C:\Users\USERNAME\Documents\testfile.txt", delimiter=",", quotechar="'", engine='python')
我可以将定界符设置为单引号逗号单引号,但在每行的开头和结尾仍然会留下单引号。
对此的重复: 他们的答案将解决我的问题,因为该字段中使用了单引号,但这使它有可能出现另一个问题。如果在这样的字段中出现逗号怎么办:
“鲍勃”,“汽车”,“鲍勃的汽车”
我希望文本限定符之间可以包含任何内容。要求太多吗?
解决方案 我自己解决了该问题,方法是将您标记为我的复制和调整项作为解决方案的一部分。我将分隔符更改为单引号逗号单引号,然后在开头和结尾处删除了其余的单引号。我还必须将所有值都转换为字符串以使其起作用。这是我的工作代码:
data = pd.read_csv(r'C:\Users\lt060810\Documents\testfile.txt', delimiter="','", quotechar="'", dtype={2:'str'}, engine='python')
data = data.apply(lambda x: x.astype(str).str.strip("'"))
data.columns = data.columns.str.strip("'")