如何将 .xlsx 数据写入 .txt 文件以确保每一列都有自己的文本文件,然后每一行都是一个新行?

How to write .xlsx data to a .txt file ensuring each column has its own text file, then each row is a new line?

我相信我即将破解此问题,但我无法向 .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 -> 文字 row:1, col:1

我希望每个 .txt 文件中的输出内容: ssToTextFile.txt -> 文字 row:1, col:1
文本 row:2、col:1
文本 row:3、col:1
文本 row:4、col:1
文本 row:5、col:1

那么,下一个 .txt 文件是:
文本 row:1、col:2
文本 row:2、col:2 等

希望得到任何反馈及其背后的逻辑吗?

已解决。在外循环上使用 sheet.columns 我可以使用 [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)