我相信我接近破解这个,但是我不能添加多行文本到。txt文件。列与它们自己的。txt文件相关。
import openpyxl
from pathlib import Path
# create workbook
wb = openpyxl.Workbook()
sheet = wb.active
listOfTextFiles = []
# Create a workbook 5x5 with dummy text
for row in range(1, 6):
for col in range(1, 6):
file = sheet.cell(row=row, column=col).value = f'text row:{row}, col:{col}'
listOfTextFiles.append(file)
print(listOfTextFiles) # for testing
wb.save('testSS.xlsx')
for i in range(row): # create 5 text files
textFile = open(f'ssToTextFile{i}.txt', 'w')
textFile.write(listOfTextFiles[i])
每个文本文件的输出如下。我知道这与'textFile.write(listOfTextFiles[I])'有关,我尝试了很多方法,如用[j]或[file]代替[I]。我想我在每个循环中都覆盖了文本。
当前输出:ssToTextFile.txt→文本行:1,col:1
我想在每个。txt文件中输出的内容:ssToTextFile.txt→文本行:1,col:1
文本行:2,col:1
文本行:3,col:1
文本行:4,col:1
文本行:5,col:1
然后,下一个。txt文件为:
text row:1, col:2
text row:2, col:2等
希望得到任何反馈和背后的逻辑,请?
解决。用表。我可以使用[x-1]作为索引。
for x in range(sheet.min_row, sheet.max_row + 1):
textFile = open(f'ssToTextFile{x-1}.txt', 'w')
for y in list(sheet.columns)[x-1]:
textFile.write(str(y.value)+ 'n')
print(y.value)