Python Pandas.to_csv(fileName,quoting=csv.QUOTE_NONE ERRORTypeError:to_csv()得到一个意外的关键字参数';quoting';
试图使用pandas将数据帧写入csv,并删除由串联值生成的引号。解释器不接受参数引号 错误 TypeError: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
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)