如何将 .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)
我相信我即将破解此问题,但我无法向 .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)