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

时间:2018-04-20 17:17:23

标签: python pandas quoting

尝试使用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")

1 个答案:

答案 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)