如何将多个多行 txt 文件转换为 excel - 确保每个文件都是自己的行,然后每一行文本都是自己的行? Python3
How do I convert multiple multiline txt files to excel - ensuring each file is its own line, then each line of text is it own row? Python3
使用 openpyxl 和 Path 我的目标是:
创建多个多行 .txt 文件,
然后将 .txt 内容插入 .xlsx 文件,确保文件 1 在第 1 列中并且每一行都有自己的行。
我想创建一个嵌套列表,然后遍历它以插入文本。我不知道如何确保显示所有嵌套列表字符串。到目前为止,这是我所拥有的,几乎可以满足我的要求,但这只是第一行文本的重复。
from pathlib import Path
import openpyxl
listOfText = []
wb = openpyxl.Workbook() # Create a new workbook to insert the text files
sheet = wb.active
for txtFile in range(5): # create 5 text files
createTextFile = Path('textFile' + str(txtFile) + '.txt')
createTextFile.write_text(f'''Hello, this is a multiple line text file.
My Name is x.
This is text file {txtFile}.''')
readTxtFile = open(createTextFile)
listOfText.append(readTxtFile.readlines()) # nest the list from each text file into a parent list
textFileList = len(listOfText[txtFile]) # get the number of lines of text from the file. They are all 3 as made above
# Each column displays text from each text file
for row in range(1, txtFile + 1):
for col in range(1, textFileList + 1):
sheet.cell(row=row, column=col).value = listOfText[txtFile][0]
wb.save('importedTextFiles.xlsx')
输出为 4 columns/4 行。所有这些都说相同 'Hello, this is a multiple line text file.'
感谢任何帮助!
问题出在写入时的for循环中,把sheet.cell(row=row, column=col).value = listOfText[txtFile][0]
这一行改成 sheet.cell(row=col, column=row).value = listOfText[row-1][col-1]
就可以了
使用 openpyxl 和 Path 我的目标是: 创建多个多行 .txt 文件, 然后将 .txt 内容插入 .xlsx 文件,确保文件 1 在第 1 列中并且每一行都有自己的行。
我想创建一个嵌套列表,然后遍历它以插入文本。我不知道如何确保显示所有嵌套列表字符串。到目前为止,这是我所拥有的,几乎可以满足我的要求,但这只是第一行文本的重复。
from pathlib import Path
import openpyxl
listOfText = []
wb = openpyxl.Workbook() # Create a new workbook to insert the text files
sheet = wb.active
for txtFile in range(5): # create 5 text files
createTextFile = Path('textFile' + str(txtFile) + '.txt')
createTextFile.write_text(f'''Hello, this is a multiple line text file.
My Name is x.
This is text file {txtFile}.''')
readTxtFile = open(createTextFile)
listOfText.append(readTxtFile.readlines()) # nest the list from each text file into a parent list
textFileList = len(listOfText[txtFile]) # get the number of lines of text from the file. They are all 3 as made above
# Each column displays text from each text file
for row in range(1, txtFile + 1):
for col in range(1, textFileList + 1):
sheet.cell(row=row, column=col).value = listOfText[txtFile][0]
wb.save('importedTextFiles.xlsx')
输出为 4 columns/4 行。所有这些都说相同 'Hello, this is a multiple line text file.'
感谢任何帮助!
问题出在写入时的for循环中,把sheet.cell(row=row, column=col).value = listOfText[txtFile][0]
这一行改成 sheet.cell(row=col, column=row).value = listOfText[row-1][col-1]
就可以了