Python 将数组写入at文本文件时的输出格式
作为一个更大项目的一部分,我正在将数组写入一个文本文件。我写了一个小代码片段:Python 将数组写入at文本文件时的输出格式,python,numpy,file,csv,Python,Numpy,File,Csv,作为一个更大项目的一部分,我正在将数组写入一个文本文件。我写了一个小代码片段: import numpy as np import csv data99 = np.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.],[10.,11.,12.]]) data98 = np.array([99,98,97,96]) for i in range(len(data98)): data99[i,2] = data98[i] with open('zzz.tx
import numpy as np
import csv
data99 = np.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.],[10.,11.,12.]])
data98 = np.array([99,98,97,96])
for i in range(len(data98)):
data99[i,2] = data98[i]
with open('zzz.txt', 'w') as ab:
csv.writer(ab, delimiter = ',').writerows(data99)
它输出的格式正是我想要的:
1.0,2.0,99.0
4.0,5.0,98.0
7.0,8.0,97.0
10.0,11.0,96.0
当我尝试在较大的项目中使用相同的写入功能时:
from PIL.TiffTags import TAGS
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from math import sqrt
import tkinter
from tkinter import ttk
from tkinter import *
from tkinter import filedialog
import csv
# .
# .
# .
with open('Terrain_deviations.txt', 'w') as ab:
csv.writer(ab, delimiter = ',').writerows(deviations)
发布的格式不同:
[[ 0. 20. -9.55028766]]
[[ 0. 30. -9.1716853]]
[[ 0. 40. -9.02336858]]
[[ 0. 50. -8.91502989]]
[[ 0. 60. -8.61375907]]
这两个都是float64的数组。
数据99为(4,3)
偏差为(2324,3)
您必须使用numpy吗?你说的“格式不同”是什么意思?它在哪里不同?在python中,csv文件或将csv文件加载回程序时?
data99
是一个(4,3)数字数组。什么是偏差?偏差是一个(2324,3)数字数组(浮点64),我不必使用numpy。我是Python新手,根据我在教程和在线示例中的发现,这就是我迄今为止的发现。在data99中,它写入文件时没有括号,并且值之间有一个“,”。在偏差的情况下,数组的每一行都有括号,值之间没有“,”s,只有空格。你必须使用numpy吗?你说的“格式不同”是什么意思?它在哪里不同?在python中,csv文件或将csv文件加载回程序时?data99
是一个(4,3)数字数组。什么是偏差?偏差是一个(2324,3)数字数组(浮点64),我不必使用numpy。我是Python新手,根据我在教程和在线示例中的发现,这就是我迄今为止的发现。在data99中,它写入文件时没有括号,并且值之间有一个“,”。对于偏差,数组的每一行都有括号,值之间没有“,”s,只有空格。