[英]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.