将字符串列表保存到 csv 文件?
Saving list of strings to csv file?
我正在 USB 设备上收集数据,并且正在获取 2 组数据作为变量,其中包含 200 个数据点作为逗号分隔的字符串。那么如何将这些变量保存为计算机上的 csv 文件呢?理想情况下,我想我想在函数中执行此操作,因为我想对大量数据集有效地重复此操作,而不覆盖它们。
这是我当前的代码:
freq = instr.ask("FREQ:DATA?")
data = instr.ask("CALC:DATA:FDATa?")
#convert freq and data to strings comma-separated and then arrays of floats
datalist=data.split(',')
dataarray=np.array(datalist)
datafloat=dataarray.astype(np.float)
freqlist=freq.split(',')
freqarray=np.array(freqlist)
freqfloat=freqarray.astype(np.float)
#save data
output = np.column_stack((freqfloat, datafloat))
with open('output.csv','w') as f:
writer = csv.writer(f)
for row in output:
writer.writerow(row)
所以在这之后我想创建一个保存数据函数,我可以调用它并为以后的数据集重复。欢迎任何帮助,谢谢!
您可以使用 Python 标准库中的 csv 模块来编写 csv 文件。
要在每次保存数据时生成一个新文件,您可以生成一个带有数字的文件名。递增数字直到文件不存在。这是一个将数据连续保存到 prefix_1.csv
、prefix_2.csv
等的函数:
import csv
import os
def save_csv(file_prefix, data):
i = 1
file_name = file_prefix + '_' + str(i) + '.csv'
while os.path.isfile(file_name):
i = i + 1
file_name = file_prefix + '_' + str(i) + '.csv'
with open(file_name, 'w') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
# Save output to file data_x.csv
output = np.column_stack((freqfloat, datafloat))
save_csv('data', output)
我正在 USB 设备上收集数据,并且正在获取 2 组数据作为变量,其中包含 200 个数据点作为逗号分隔的字符串。那么如何将这些变量保存为计算机上的 csv 文件呢?理想情况下,我想我想在函数中执行此操作,因为我想对大量数据集有效地重复此操作,而不覆盖它们。
这是我当前的代码:
freq = instr.ask("FREQ:DATA?")
data = instr.ask("CALC:DATA:FDATa?")
#convert freq and data to strings comma-separated and then arrays of floats
datalist=data.split(',')
dataarray=np.array(datalist)
datafloat=dataarray.astype(np.float)
freqlist=freq.split(',')
freqarray=np.array(freqlist)
freqfloat=freqarray.astype(np.float)
#save data
output = np.column_stack((freqfloat, datafloat))
with open('output.csv','w') as f:
writer = csv.writer(f)
for row in output:
writer.writerow(row)
所以在这之后我想创建一个保存数据函数,我可以调用它并为以后的数据集重复。欢迎任何帮助,谢谢!
您可以使用 Python 标准库中的 csv 模块来编写 csv 文件。
要在每次保存数据时生成一个新文件,您可以生成一个带有数字的文件名。递增数字直到文件不存在。这是一个将数据连续保存到 prefix_1.csv
、prefix_2.csv
等的函数:
import csv
import os
def save_csv(file_prefix, data):
i = 1
file_name = file_prefix + '_' + str(i) + '.csv'
while os.path.isfile(file_name):
i = i + 1
file_name = file_prefix + '_' + str(i) + '.csv'
with open(file_name, 'w') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
# Save output to file data_x.csv
output = np.column_stack((freqfloat, datafloat))
save_csv('data', output)