繁体   English   中英

熊猫to_csv输出未对齐的数据

[英]Pandas to_csv outputs misaligned data

这个函数写一个CSV:

def onNewData(self, data):  
    zvalues = []
    csv = open("data.csv","w+")
    columnTitleRow = " ValuesofX , ValuesofY , ValuesofZ \n"
    csv.write(columnTitleRow)
    for i in range(data.getNumPoints()):
        zvalues.append(data.getZ(i))
        csv.write((str(data.getX(i))+',')+(str(data.getY(i))+',') + (str(data.getZ(i))+','))   
        csv.write('\n') 
    csv.close()  
    zarray = np.asarray(zvalues)
    p = zarray.reshape (-1, data.width)        
    self.queue.put(p)

我用它来读取我的CSV:

# reading data
  import pandas as pd
  import numpy as np 

  bolts_data = pd.read_csv("data.csv")
  print(bolts_data)

这是我编写的用于将数据直接保存到CSV文件中的代码。 但是,当我运行新程序以读取CSV文件时,显示的数据与标题未对齐。 此错误可以显示在下面的第一张图片中。 我希望看到的理想输出是下面显示的第二张图片。 有什么可能的解决方案来解决这种偏差?

与标题未对齐 与标题未对齐

这是我希望看到的输出 这是我希望看到的输出

您的定义中有一个问题。 它产生一个额外的列

代码修改: ValuesofZ之后不需要逗号

def onNewData(self, data):  
    zvalues = []
    csv = open("data.csv","w+")
    columnTitleRow = " ValuesofX , ValuesofY , ValuesofZ \n"
    csv.write(columnTitleRow)
    for i in range(data.getNumPoints()):
        zvalues.append(data.getZ(i))
        csv.write((str(data.getX(i))+',')+(str(data.getY(i))+',') + (str(data.getZ(i))))    #Here  
        csv.write('\n') 
    csv.close()  
    zarray = np.asarray(zvalues)
    p = zarray.reshape (-1, data.width)        
    self.queue.put(p)

我相信,如果在read_csv调用中使用index_col=False ,它将解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM