【问题标题】:Error when storing content from a .txt file to a .xlsx using python使用 python 将内容从 .txt 文件存储到 .xlsx 时出错
【发布时间】:2018-02-04 12:58:42
【问题描述】:

我是一名新的编码员,目前正在尝试为更大的内容创建示例代码。我用谷歌搜索了我的大部分问题,但我找不到“最终”问题的任何答案,所以我决定发布它。

此代码基本上是打开 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")

输出

- EXCEL 文件 |文本文件 |输出文件

  • 50 B2-3/3 | 050750@B2-3/3 | 050715

  • 50 B2-3/4 | 050750@B2-3/4 | 050715

  • 50 B2-3/5 | 050750@B2-3/5 | 050715

我希望 TEXT FILE 中的内容准确地出现在 OUTPUT FILE 中。

文本文件中的内容。

  • 050730
  • 050740
  • 050740A
  • 050740B
  • 050740-1/1
  • 050740-1/2
  • 050740-2/1
  • 050740-2/2
  • 050740-3/1
  • 050740-3/2
  • 050740-4/1
  • 050740-4/2

【问题讨论】:

  • 我们可以获取Saved.txt的内容样本吗?这对我们帮助你有很大帮助。谢谢!
  • 是的,我已经在上面提供了! @SeanFrancisN.Ballais

标签: python python-3.x python-2.7 excel-2010 openpyxl


【解决方案1】:

我假设您现在已经找到了问题,但我想我还是会在这里提供答案(这样我们就可以开始清空论坛中未回答的问题)。

您正在创建许多单元格,然后分配相同的值,即行。我假设您在输出中看到的值是完整值列表的一部分?作为旁注,我可能会补充一点,您在应尽可能避免的范围内使用硬编码值。

作为一个初学者,我冒昧地提出一个可能会更好的解决方案。

with open("Saved.txt","r") as f:
for i, line in enumerate(f):
    Pointer = "A{}".format(i+1)
    sheet[Pointer] = line

有关枚举函数的更多详细信息,请查看官方文档here。基本上它为从零开始的每个元素提供一个索引值。 编辑:不小心将 str() 保留在 i 周围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    相关资源
    最近更新 更多