[英]How to write a list in one excel cell using python
這是我的清單
list=['a','b','c']
使用此代碼時
with open('commentafterlink.csv', 'w') as f:
f.write("%s\n" % list)
它將列表的每個令牌存儲在一個單元格中,但我需要將整個列表存儲在一個單元格中。問題出在哪里?
您可以嘗試以下方法:
import xlwt
from xlwt import Workbook
# Workbook is created
wb = Workbook()
# add_sheet is used to create sheet.
sheet1 = wb.add_sheet('Sheet 1')
# sheet1.write(1, 0, ' '.join(list))
# if you want the output to be ['a','b','c']
sheet1.write(1, 0, str(list))
wb.save('xlwt example.xls')
輸出:
使用join()
:
lst=['a','b','c']
with open('commentafterlink.csv', 'w') as f:
f.write("%s\n" % "".join(lst))
輸出 :
編輯 :
使用repr()
:
import xlsxwriter
lst=['a','b','c'] # avoid using list keyword
workbook = xlsxwriter.Workbook('commentafterlink.xlsx') # create/read the file
worksheet = workbook.add_worksheet() # adding a worksheet
worksheet.write('A1', repr(lst)) # write repr(lst) to cell A1
workbook.close() # close the file
輸出 :
1)您不是在編寫Excel文件,而是在編寫CSV文件(Excel知道如何導入)。
2)您在寫CSV文件時就好像它是一個文本文件一樣,沒有尊重CSV的語義。 CSV表示“逗號分隔的值” 。 如果包含文本['a','b','c']
,它將被解釋為三列: ['a'
和'b'
和'c']
。 您需要引用該值才能正確執行該操作。 CSV中的默認引號是雙引號。 因此,如果您編寫"['a','b','c']"
,則將其作為一個單元格導入到Excel中。 然而,
3)您正在手工編寫CSV文件,這意味着很容易弄錯格式(例如,忘記轉義需要轉義的內容)。 通常,每當您以已建立的格式編寫文件時,都值得檢查該格式是否具有知道如何處理該文件的庫。 Python本身知道如何使用csv
模塊寫入CSV文件,並且知道如何使用可以使用pip
安裝的軟件包(例如xlwt
寫入Excel文件。
這是您正確編寫CSV文件的方法:
my_list = ['a', 'b', 'c']
import csv
with open('commentafterlink.csv', 'w') as w:
writer = csv.writer(w)
writer.writerow([str(my_list)])
注意:覆蓋Python的內置變量(例如list
是一件壞事。
(我看到另一個回答者已經使用xlwt
為您提供了Excel特定的解決方案。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.