如何在Python中从列表中删除所有换行符
因此,我创建了一个程序,将PDF读入文本文件,但每次运行代码时,文本文件的列表中都会弹出换行符。我已经尝试了很多方法,包括strip()、split()和replace(),但是字符不会消失。如果有人能帮我,那太好了。下面发布的代码片段:如何在Python中从列表中删除所有换行符,python,file,split,Python,File,Split,因此,我创建了一个程序,将PDF读入文本文件,但每次运行代码时,文本文件的列表中都会弹出换行符。我已经尝试了很多方法,包括strip()、split()和replace(),但是字符不会消失。如果有人能帮我,那太好了。下面发布的代码片段: import PyPDF2 as pdf # creating an object file = open(PDF_FILENAME_DIRECTORY, "rb") # creating a pdf reader object fileReader =
import PyPDF2 as pdf
# creating an object
file = open(PDF_FILENAME_DIRECTORY, "rb")
# creating a pdf reader object
fileReader = pdf.PdfFileReader(file)
# print the number of pages in pdf file
textData = []
for pages in fileReader.pages:
theText = pages.extractText()
# for char in theText:
# theText.replace(char, "\n")
textData.append(theText)
final_list = []
for i in textData:
final_list.append(i.strip('\n'))
# [s.strip('\n') for s in theText]
# [s.replace('\n', '') for s in theText]
# text_data = []
# for elem in textData:
# text_data.extend(elem.strip().split('n'))
# for line in textData:
# textData.append(line.strip().split('\n'))
#--------------------------------------------------------------------
import os.path
save_path = "FILENAME_SAVEPATH_DIRECTORY"
name_of_file = input("What is the name of the file: ")
completeName = os.path.join(save_path, name_of_file + ".txt")
file1 = open(completeName, "w")
file1.write(str(final_list))
file1.close()
您的问题在这一行:
file1.write(str(final_list))
这将调用列表
类型的\uuuu str
方法,该方法使用repr
对列表中的元素进行字符串化,这正是导致输出外观的原因
改为这样做:
for line in final_list:
file1.write(line)
如果你创建一个例子,你会得到更多更好的答案。尤其要确保输入和预期的测试数据是完整的(不是伪数据),并且可以很容易地剪切和粘贴到编辑器中,以便测试建议的解决方案。在将文件读入python后,您能否共享该文件的内容?
file1。write(str(final_list))
几乎肯定不是您想要的,除非你想看到一个Python列表显示,整个列表用括号括起来,每一行用引号括起来。同时,你是否真的在final\u list
中看到字符串并在那里看到换行符,或者可能是你在每个非空白行之间有一个或多个空白行?示例输出发布在edit中。它终于起作用了!非常感谢你!我刚刚开始考虑成为人类学专业而不是HAHA。快速提问,你知道是否有可能写一个文件然后从同一个代码中读取它,例如在后面写字符?我知道一个人可以读一个文件,然后在上面写,但这会用新的文本替换文件中的所有文本。