Python Pandas.to_csv(fileName,quoting=csv.QUOTE_NONE ERRORTypeError:to_csv()得到一个意外的关键字参数';quoting';

Python Pandas.to_csv(fileName,quoting=csv.QUOTE_NONE ERRORTypeError:to_csv()得到一个意外的关键字参数';quoting';,python,pandas,quoting,Python,Pandas,Quoting,试图使用pandas将数据帧写入csv,并删除由串联值生成的引号。解释器不接受参数引号 错误 TypeError:to_csv()获得意外的关键字参数“quoting” 代码 串联产生双引号的值: df['NAME'] = df[['Last', 'First']].apply(lambda x: ", ".join(x), axis =1) df2 = df[['NAME']].copy() df2.stack().reset_index(level=0, drop=True).to_cs

试图使用pandas将数据帧写入csv,并删除由串联值生成的引号。解释器不接受参数引号

错误

TypeError:to_csv()获得意外的关键字参数“quoting”

代码

串联产生双引号的值:

df['NAME'] = df[['Last', 'First']].apply(lambda x: ", ".join(x), axis =1)

df2 = df[['NAME']].copy()

df2.stack().reset_index(level=0, drop=True).to_csv(_testFileout, quoting=csv.QUOTE_NONE)
输出(不引用参数):

期望输出:

2,LAST, FIRST
写入文件

版本:

PYTHON 3.6.4

熊猫0.22.0

完整代码

作为pd进口熊猫

_testFile='G:\SOMEFILEPATH.csv'

_testFileout='G:\ANOTHERPATH.txt'

df=pd.read\u csv(\u testFile,encoding='utf-8')

df['1']='*'

df['2']=df['Last','First']]。应用(lambda x:“,”。连接(x),轴=1)

df['45']=df['userid']

df['50']='2'

df['75']='1'

df['150']=df['First']+'.+df['Last']+'@xxxx.com'

df['2401']='Document Imaging'

df['2402']=df['userid']

df['2403']='imagelater'

df['2405']=“是”

df['20700']='201'

df['20701']='000'+df['employeeID'].aType(str)

df2=df[[1',2',45',50',75',150',2401',2402',2403',2405',20700',20701']

df2.stack().reset_index(level=0,drop=True).to_csv(_testFile,quoting=csv.QUOTE_NONE)

新代码


df2.stack().reset_index(level=0,drop=True).to_frame().to_csv(_testFileout,quoting=3,escapechar=“\r”)
在简单索引(即非多索引)上的堆栈
生成一个系列,而不是一个数据帧。如果这里是这种情况,就像它看起来的那样,您调用的是系列
到_csv
而不是数据帧,它没有
引用
参数

如果您需要一个数据帧(如果您确实需要使用
quoting
,只需调用
并使用
escapechar

df2.stack().reset_index(level=0, drop=True).to_frame().to_csv(filename, escapechar='\\', quoting=csv.QUOTE_NONE)

为什么不直接做
df2=df[['Last','First']].copy()
然后
df2.to_csv(…)
?我已经缩短了代码,有几列被复制到新的df中。然后
columns=['columns','to','copy']
df2=df[columns].copy()
。或者干脆删除不需要的列:
df2=df.drop(columns=columns\u to\u drop).copy()
。欢迎使用StackOverflow。请发布一个完整的示例,以便我们提供帮助。上载完成的示例这是正确的,这是一个单层索引,因此我无法删除引号。我生成的是一个平面文件,需要采用堆栈生成的格式。列,值由一个逗号分隔,堆叠在彼此顶部。此文件将上载到o数据库。在这种情况下,只需在_csv之前调用_frame。请确保设置转义字符;在字段中嵌入逗号时,如果不使用引号或转义字符集,则无法使用_csv。如果这对您有效,我将编辑我的答案。在我向_frame()添加在.stack和.to_csv之间,它给出了您所描述的内容,每行都有一个标签及其关联的值。我让它工作,问题是我需要使用一个转义字符,它不会显示在输出中,所以我使用“\r”回车符。发布更新的代码。
df2.stack().reset_index(level=0, drop=True).to_frame().to_csv(filename, escapechar='\\', quoting=csv.QUOTE_NONE)