Python 格式化csv数据并将其写入文本文件以进行机器学习

Python 格式化csv数据并将其写入文本文件以进行机器学习,python,csv,Python,Csv,如何排列已从.csv更改为.txt文件的数据。我想为我的机器学习代码这样做 import csv csv_file = ('traindata.csv') txt_file = ('traindata.txt') with open(txt_file, "w") as my_output_file: with open(csv_file, "r") as my_input_file: [ my_output_file.write(" ".join(row)+'\n') f

如何排列已从.csv更改为.txt文件的数据。我想为我的机器学习代码这样做

import csv
csv_file = ('traindata.csv')
txt_file = ('traindata.txt')
with open(txt_file, "w") as my_output_file:
    with open(csv_file, "r") as my_input_file:
        [ my_output_file.write(" ".join(row)+'\n') for row in csv.reader(my_input_file)]
    my_output_file.close()
这将给我一个结果,看起来像这样(见下文),并保存到.txt文件中

 x y z
0 -222.0 34.0 75.0
1 -222.0 34.0 75.0
2 -223.0 41.0 72.0
3 -223.0 41.0 72.0
4 -223.0 41.0 72.0
5 -231.0 36.0 78.0
6 -231.0 36.0 78.0
7 -231.0 36.0 78.0
但是,我希望它看起来像这样(见下文)。这样我就可以将数据提取到我的主代码中,用于机器学习

X:-219, Y:5, Z:96
X:-219, Y:5, Z:96
X:-218, Y:5, Z:101
X:-218, Y:5, Z:101
X:-218, Y:5, Z:101
X:-215, Y:7, Z:99
这是因为我希望我的主代码能够从.txt文件中提取数据

r = []
i = 0
e = glob.glob('traindata.txt')

for g in range(len(e)):
    if e[i>0]:

        file = open(e[i], 'r')
        lines = file.readlines()
        file.close()

        t1 = []
        z1 = []
        y1 = []
        x1 = []

        for line in lines:

            parts = line.split(", ")
            if len(parts) > 3:
                column1 = parts[3].split(':')
                column2 = column1[1]
                column3 = parts[2].split(':')
                column4 = column3[1]
                column5 = parts[1].split(':')
                column6 = column5[1]
                column7 = parts[0].split(':')
                column8 = column7[1]

                T = column2[0:len(column2)]
                Z = column4[0:len(column4)]
                Y = column6[0:len(column6)]
                X = column8[0:len(column8)]

               # pdb.set_trace()              
                T1 = float(T)
                t1.append(T1)                   
                X1 = float(X)
                x1.append(X1)                        
                Y1 = float(Y)
                y1.append(Y1)        
                Z1 = float(Z)
                z1.append(Z1)

    i += 1            
    m = x1+y1+z1
    r.append(m)

r = np.matrix(r)
csv文件数据:
提供值列表,您可以在将其写入文件之前将其分配给
X
Y
Z

import csv
csv_file = ('traindata.csv')
txt_file = ('traindata.txt')
with open(txt_file, "w") as my_output_file:
    with open(csv_file, "r") as my_input_file:
        next(my_input_file) # skip first row
        line = ['X:{} Y:{} Z:{}'.format(int(float(row[0])),int(float(row[1])), int(float(row[2])))  for row in csv.reader(my_input_file)]
        my_output_file.write("\n".join(line))
    my_output_file.close()
输入csv文件

-222.0, 34.0, 75.0
-222.0, 34.0, 75.0
-223.0, 41.0, 72.0
输出文本文件

X:-222 Y:34 Z:75
X:-222 Y:34 Z:75
X:-223 Y:41 Z:72

提供值列表,您可以在将其写入文件之前将其分配给
X
Y
Z

import csv
csv_file = ('traindata.csv')
txt_file = ('traindata.txt')
with open(txt_file, "w") as my_output_file:
    with open(csv_file, "r") as my_input_file:
        next(my_input_file) # skip first row
        line = ['X:{} Y:{} Z:{}'.format(int(float(row[0])),int(float(row[1])), int(float(row[2])))  for row in csv.reader(my_input_file)]
        my_output_file.write("\n".join(line))
    my_output_file.close()
输入csv文件

-222.0, 34.0, 75.0
-222.0, 34.0, 75.0
-223.0, 41.0, 72.0
输出文本文件

X:-222 Y:34 Z:75
X:-222 Y:34 Z:75
X:-223 Y:41 Z:72

X:-222.0,Y:34.0,Z:75.0,这是我得到的结果,这是正确的,但是有没有办法把它改成整数而不是浮点?你想把所有的值都改成整数吗?是的,我想把所有的值都改成整数我得到了这个错误,ValueError:无法将字符串转换成浮点:,不知道为什么,但在我的csv文件中,数据是整数而不是浮点,但当它保存到txt时,它变成了浮点。CSV数据=
x y z
-222 34 75-222 34 75您可以发布CSV的内容,包括第一行吗?x:-222.0,y:34.0,z:75.0,这是我得到的正确结果,但是有没有办法把它改成整数而不是浮点数?你想把所有的值都改成整数吗?是的,我想把所有的值都改成整数。我得到了这个错误,ValueError:无法将字符串转换成浮点数:,不知道为什么,但是在我的csv文件中,数据是整数而不是浮点数,但是当它保存到txt中时,它变成了浮点数。CSV数据=
x y z
-222 34 75-222 34 75您可以发布CSV的内容,包括第一行吗?