我需要在我的脚本生成的csv文件的特定列中添加双引号。
以下是我想到的愚蠢方法。对于这两个固定宽度字段,它可以工作:
df['DATE'] = df['DATE'].str.ljust(9,'"')
df['DATE'] = df['DATE'].str.rjust(10,'"')
df['DEPT CODE'] = df['DEPT CODE'].str.ljust(15,'"')
df[DEPT CODE'] = df['DEPT CODE'].str.rjust(16,'"')
对于以下字段,它没有固定长度。因此,如果该值短于标准的6位数字,我会得到额外的双引号:"5673"""
df['ID'] = df['ID'].str.ljust(7,'"')
df['ID'] = df['ID'].str.rjust(8,'"')
我尝试使用zfill,但是该列中的数据是一个系列--当我运行时,会得到"pandas.core.series.Series"。
print type(df['ID'])
我无法使用astype将其转换为字符串。 我不确定原因,我还没有导入numpy。
我尝试使用len()获取ID号码的长度,并将其作为第一个参数传递给str.ljust和str.rjust,但我认为它卡在数据不是字符串上了。
是否有更简单的方法应用双引号,或者zfill是正确的方法?
np.savetxt
写入csv
,我会尝试使用fmt='"%s"'
。 - hpaulj