双引号 pandas.read_csv

问题描述

我有一个包含多个单词和字符的大型 txt 文件,我正在尝试将该文件读入一个 Pandas 数据帧,每个单词或字符位于不同的行中。

问题是 " 是字符之一,函数将两个 " 之间的所有单词作为一个单词读取(因为引用)。

如何将这个字符作为另一个常规字符而不是引用字符来处理?我尝试使用 read_csv 函数的参数,但无法修复它。

我现在的代码data = pd.read_csv(filepath,header=None,delimiter = "\t")

提前致谢!

解决方法

你可以使用参数quotechar

data = pd.read_csv("a.txt",delim_whitespace=True,header=None,quotechar="~")
print(data.head())

a.txt

abc def xyz
"abc xyz" def

输出

      0     1    2
0   abc   def  xyz
1  "abc  xyz"  def

这条路还剩下一些报价。

,

尝试通过 numpy 的 genfromtxt() 方法:

import numpy as np

data=np.genfromtxt('data.csv',dtype='str',delimeter='\t',skip_header=1)

columns=np.genfromtxt('data.csv',delimiter='\t',skip_footer=len(data))

最后:

df=pd.Dataframe(data=data,columns=columns)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...