[英]Error when storing content from a .txt file to a .xlsx using python
我是一名新編碼員,目前正在嘗試為更大的對象創建示例代碼。 我用Google搜索了大多數問題,但找不到“最終”問題的任何答案,因此我決定將其發布。
這段代碼基本上是打開Excel文件,獲取特定列的數據,編輯數據並將其保存到名為“ Saved.txt”的文本文件中的內容。 該代碼在這里工作良好。 我的問題是,當我嘗試將所有數據逐行上傳到另一個Excel文件時。 請幫幫我!
import openpyxl
from openpyxl import Workbook
Code = "0507"
Save = open("Saved.txt","a")
#Reading from XLSX and writing into a TEXT FILE after appending the data.
fname = 'Wekanda 2.xlsx'
wb = openpyxl.load_workbook(fname)
sheet = wb.get_sheet_by_name('Wekanda 2')
for rowOfCellObjects in sheet['R2':'R282']:
for cellObj in rowOfCellObjects:
line_w = cellObj.value
line_w = str(line_w)
line_w = line_w.replace(" ","@")
Save.write("\n"+Code+line_w)
test = str(line_w)
Save.close()
這段代碼直到現在都可以正常工作。
#Storing into Excel!
book = Workbook()
sheet = book.active
with open("Saved.txt","r") as f:
for line in f:
for i in range(1,281):
Pointer = "A"+str(i)
sheet[Pointer] = line
book.save("Next.xlsx")
我希望“文本文件”中的內容完全在“輸出文件”上。
文本文件中的內容。
我認為您現在已經找到問題了,但是我還是想在這里提出答案(以便我們可以在未解決的問題上清空論壇)。
您正在創建許多單元,然后為其分配相同的值,即line。 我假設您在輸出中看到的值是值的完整列表的一部分? 附帶說明一下,我可能會補充說,您使用的硬編碼值范圍應盡可能避免。
作為我自己的初學者,我敢於提出一個可能更好用的解決方案。
with open("Saved.txt","r") as f:
for i, line in enumerate(f):
Pointer = "A{}".format(i+1)
sheet[Pointer] = line
有關枚舉功能的更多詳細信息,請查看此處的官方文檔。 基本上,它為每個元素從零開始提供索引值。 編輯:意外地將str()保留在i周圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.