首页 > 解决方案 > Pandas 在单个 dataRow 中写入具有自定义限制值的 CSV 文件

问题描述

我有一个要求,我的列是固定的,但最后一个 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之前有任何空格

我想从数据列值中删除额外的空间

标签: pythonpandas

解决方案


由于您的使用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()字典,您也不需要为其提供列名。


推荐阅读