簡體   English   中英

如何在csv文件的不同列中打印輸出?

[英]How to print the output in different colums of a csv file?

我想在csv文件的不同列中打印我的程序的輸出。 實際輸出僅顯示在用 excel 軟件打開的csv文件中的一個單元格中。 此外,數字結果出現在方括號中(我不想要)。 我想在不同的單元格中繪制我的結果,一個並排。 例如,第一個單元格“文本”,第二個單元格“數字”,第三個單元格“文本”。

我嘗試了不同的分隔符,如“ ”、“、”,但沒有成功。

import numpy as np 
# DATA
width=0.66  

# WRITING  THE DATA
wii=np.empty([1,1])[0] 
wii[0]=round(width,3)
Width=[['Width' +str(wii)+ ' [m]']]

with open('Output.csv', 'w', newline='') as csvFile:       

    thewriter = csv.writer(csvFile, delimiter=',') 
    thewriter.writerows(Width)

我的預期結果將是以下結果:Width 0.66 [m]('Width、0.66 和 [m] 分別位於三個不同的單元格中')

相反,我得到:

Width [0.66] [m] ('Where, Width, [0.66] 和 [m] 位於同一個單元格中)

如何解決這個問題?

為了實現這一點,需要改變一些事情:

  1. 你打印的是wii列表,而不是對象,所以你總是有方括號。 我已經解決了。
  2. writerow總是將東西放入不同的單元格中,所以我將其更改為write
  3. 我添加了評論以幫助您了解我所做的。

以下腳本輸出:

在此處輸入圖片說明

import numpy as np 
import csv
#DATA
width=0.66  

#WRITING THE DATA
wii=np.empty([1,1])[0] 
wii[0]=round(width,3)
#print(wii[0]) prints 0.66 no bracket
#Width=['Width' +str(wii)+ 'm'] <- OP old
Width = ["Width", str(wii[0]), "[m]"] # <- NEW

with open('Output.csv', 'w', newline='') as csv_Reader:
    # Change from writerow
    csv_Reader.write(",".join(Width))  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM