[英]How to write results to an output file
我在嘗試將簡單結果輸出到輸出文件時遇到問題。 在這里,我嘗試使用 numpy 制作一些假數據,但這會導致其自身的問題,我不斷收到各種錯誤,基本上與索引不可標記或無效索引標量變量有關。
我想要的是一個輸出 csv 文件,內容如下:
LineID ColA ColB ColC
1 8 2 93
2 7 3 86
3 7 3 89
4 9 2 90
使用的代碼:
import csv
import numpy as np
z=np.array([[1,8,2,93],[2,7,3,86],[3,7,3,89],[4,9,2,90]])
#b=np.array(z)
b=z
print('\n','b is : ','\n', b, '\n')
nummy=z[:,0]
ColA_results = z[:,1]
ColB_results = z[:,2]
ColC_results = z[:,3]
print('nummy: ',nummy)
print('ColA_results: ',ColA_results)
print('ColB_results: ',ColB_results)
print('ColC_results: ',ColC_results)
results_filename = (r'/Users/imagexpertinc/Desktop/steve_results/demo_03.csv')
with open(results_filename, 'w', newline='') as filey: ## Python 3... with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:
csv_writer = csv.writer(filey, delimiter = '\t', lineterminator='\n')
csv_writer.writerow(['LineID', 'ColA','ColB','ColC'])
filey.close()
size_of_z=len(z)
indy = range(size_of_z)
print('indy is: ',indy)
for i in indy:
print('i is :',i)
print('nummy[i] is: ',nummy[i])
#nummy = nummy[i]
ColA_results = ColA_results[i]
ColB_results = ColB_results[i]
ColC_results = ColC_results[i]
with open(results_filename, 'a') as filey: ## Python 3... with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:
csv_writer = csv.writer(filey, delimiter = '\t', lineterminator='\n')
csv_writer.writerow([nummy, ColA_results, ColB_results, ColC_results])
關於我在這里做錯了什么的任何指示?
你把問題想得太多了。 Python 將 numpy 數組視為可迭代對象的可迭代對象,可以直接傳遞給csv.writer.writerows
(注意第s
行中的s ):
import csv
import numpy as np
z=np.array([[1,8,2,93],[2,7,3,86],[3,7,3,89],[4,9,2,90]])
results_filename = ('/Users/imagexpertinc/Desktop/steve_results/demo_03.csv')
with open(results_filename, 'w', newline='') as filey:
csv_writer = csv.writer(filey, delimiter = '\t', lineterminator='\n')
csv_writer.writerow(['LineID', 'ColA','ColB','ColC'])
csv_writer.writerows(z)
你可以試試:
import csv
import numpy as np
z=np.array([[1,8,2,93],[2,7,3,86],[3,7,3,89],[4,9,2,90]])
nummy=z[:,0]
ColA_results = z[:,1]
ColB_results = z[:,2]
ColC_results = z[:,3]
results_filename = (r'/Users/imagexpertinc/Desktop/steve_results/demo_03.csv')
with open(results_filename, 'w', newline='') as filey: ## Python 3... with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:
csv_writer = csv.writer(filey, delimiter = '\t', lineterminator='\n')
csv_writer.writerow(['LineID', 'ColA','ColB','ColC'])
for i in range(z.shape[0]):
csv_writer.writerow([nummy[i], ColA_results[i], ColB_results[i], ColC_results[i]])
filey.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.