尝试使用pandas将数据帧写入csv并删除由连接值生成的引号。口译员不接受引用的论点。
ERROR
TypeError:to_csv()得到了一个意外的关键字参数'引用'
CODE
连接产生双重引用值:
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)
OUTPUT(没有引用参数):
2,"LAST, FIRST"
期望的输出:
2,LAST, FIRST
写入档案
版本:
PYTHON 3.6.4
PANDAS 0.22.0
已完成的代码
将pandas导入为pd
_testFile =' G:\ SOMEFILEPATH.csv'
_testFileout =' G:\ ANOTHERPATH.txt'
df = pd.read_csv(_testFile,encoding =' utf-8')
df [' 1'] =' *'
df [' 2'] = df [[' Last',' First']]。apply(lambda x:",&# 34; .join(x),轴= 1)
df [' 45'] = df [' userid']
df [' 50'] =' 2'
df [' 75'] =' 1'
df [' 150'] = df [' First'] +'。' + df [' Last'] +& #39; @ xxxx.com'
df [' 2401'] =' Document Imaging'
df [' 2402'] = df [' userid']
df [' 2403'] =' imagelater'
df [' 2405'] ='是'
df [' 20700'] =' 201'
df [' 20701'] =' 000' + df [' employeeID']。astype(str)
df2 = df [[' 1',' 2',' 45',' 50',' 75&# 39;,' 150',' 2401',' 2402',' 2403',' 2405',&# 39; 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")
答案 0 :(得分:2)
stack
对一个简单索引(即不是MultiIndex)产生一个Series,而不是一个DataFrame。如果就是这种情况,就像它看起来一样,你所说的是系列to_csv
,而不是DataFrame系列,它没有quoting
参数。
如果您需要使用DataFrame(如果您确实需要使用quoting
,请致电to_frame
并使用escapechar
:
df2.stack().reset_index(level=0, drop=True).to_frame().to_csv(filename, escapechar='\\', quoting=csv.QUOTE_NONE)