如何在Python中拆分无逗号分隔数组并导出为行式CSV
问题解决方法
问题出在你创建DataFrame的方式上——你把整个numpy数组套进了列表里(比如[datapredct0]),这会让Pandas把整个数组当成单个单元格的内容,所以所有数据都挤在一行。
直接修改创建DataFrame的逻辑,去掉数组外面的列表包裹,让Pandas自动把数组的每个元素拆成单独的行:
import pandas as pd import numpy as np # 直接用数组作为字典值,不用套列表 datapredct2 = pd.DataFrame({'CUTTING TEMPERATURE': np.array(pred_ct)}) datapredra2 = pd.DataFrame({'SURFACE ROUGHNESS': np.array(pred_ra)}) # 合并两个DataFrame,确保行数匹配 alldatapred = pd.concat([datapredct2, datapredra2], axis=1, join='inner') # 保存CSV时用默认的逗号分隔即可,不用改sep为空格 alldatapred.to_csv('alldata.csv', index=False, header=True )
关键说明
- 当你把数组直接赋值给字典的键时,Pandas会自动将数组的每个元素映射为DataFrame的一行,每个元素对应单元格的值。
- 保存CSV时用逗号分隔是标准格式,改成空格会让CSV解析工具把所有列当成一列,这就是你之前遇到列合并的原因。
内容的提问来源于stack exchange,提问作者Zoelion
相关产品推荐
相关产品推荐

