为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas 在单个 dataRow 中写入具有自定义限制值的 CSV 文件

Pandas 在单个 dataRow 中写入具有自定义限制值的 CSV 文件

牛魔王的故事 2022-07-05 17:15:32
我有一个要求,我的列是固定的,但最后一个 dol(数据)值是这样分隔的“~”示例:数据:“a1~b1~c1~”在打印 csv 时如果正在使用示例代码:import pandas as pd temp="~".join(["amit1","amit2","amit3","amit4"])df_cols = ["Record Type", "version", "data"]df_rows = [{"Record Type":110002,"version":111.000,"data":temp +"~"}]out_df=pd.DataFrame(df_rows, columns = df_cols)print(out_df)out_df.to_csv('fileName',sep='~',index=False,quotechar=" " )并且输出 csv 在数据列 Record Type ~version~data 110002~111.0~ amit1~amit2~amit3~amit4~ //从这一行中我不想在amit1之前有任何空格我想从数据列值中删除额外的空间
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

由于您的使用quotechar=" "以及其中有空间的事实,添加的空间存在Record Type。用给定的to_csv关闭,即一个空格。Record Typequotechar


你想用那个特定的来实现quotechar什么?你真的需要吗?


import pandas as pd 

data_col = "~".join(["amit1","amit2","amit3","amit4"]) + "~"

pd.DataFrame({"Record Type": 110002, "version": 111.000, "data": data_col}, [0])

df_out.to_csv('fileName.csv',sep='~',index=False)

Ps 请注意,如果提供pd.DataFrame()字典,您也不需要为其提供列名。


查看完整回答
反对 回复 2022-07-05
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

如果我不使用--quotechar="",则在我试图实现的用例之后,输出将是这样的。

Record Type~version~data 110002~111.0~ "amit1~amit2~amit3~amit4~" - 见“我不想在字符串前后加上引号” - 我正在创建数据:“a1~b1~c~” - - 这里我的加入和分隔都是一样的。

我正在使用多个动态输入形成数据值,因此我的数据列值不固定。我正在获取数组对象 - (这是单个数据值 - "~".join(["amit1","amit2","amit3","amit4"]) + "~)


查看完整回答
反对 回复 2022-07-05
  • 2 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号