[英]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.