我想轉換以下格式的文本文檔文件夾:texts = ['text of document 1', 'text of document 2', 'text of document 3',...]為了應用文本挖掘方法。到目前為止,我的代碼如下:import osfile= "*.txt"path = "C:\\"texts=[]for files in os.listdir(path): with open(path + files) as f: for x in f: texts.append(x)不幸的是,結果與想要的不同:texts = ['line 1 of document 1', 'line 2 of document 1', …]我做錯了什么?有人可以建議改進我的代碼嗎?
1 回答
慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
for line in file:(或在您的情況下,for x in f:)迭代文件中的行。
請改用該.read()方法。這會將整個文件讀入一個字符串:
for files in os.listdir(path):
with open(path + files) as f:
texts.append(f.read())
編輯:我剛剛看到您對空條目的評論。如果您的目錄包含空文件,您可以阻止添加它們:
for files in os.listdir(path):
with open(path + files) as f:
contents = f.read()
if contents.strip(): # will also remove files that contain only whitespace
texts.append(f.read())
添加回答
舉報
0/150
提交
取消
