【发布时间】:2014-12-18 13:57:23
【问题描述】:
我有一个文件夹,里面有很多非常大的 .txt 文件,它们看起来像这样:
File1:
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
File2:
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
File3:
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
.
.
.
FileN
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
谁能帮我用另一种方法来完成这项任务?,另一个问题是编码,文件是西班牙语,我想保留标点符号,比如重音符号之类的东西。我想在 new_file 中从 File1 合并到 FileN,即:
新文件:
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
eta eta NCFS000 1
lavadora lavador AQ0FS0 0.585262
es ser VSIP3S0 1
muy muy RG 1
buena bueno AQ0FS0 1
这是我尝试过的:
import os
def concatFiles():
path = '/Users/user/Desktop/OpinionsTAG_txt\'
files = os.listdir(path)
for idx, infile in enumerate(files):
print ("File #" + str(idx) + " " + infile)
concat = ''.join([open(path + f).read() for f in files])
with open("output_concatFile.txt", "w") as fo:
fo.write(path + concat)
if __name__ == "__main__":
concatFiles()
output_contacFile.txt 有编码问题,我想保留重音符号和西班牙语符号,例如一些单词如下所示:
est√° estar VAIP3S0
正确的输出应该是这样的:
está estar VAIP3S0
【问题讨论】:
-
如果我理解正确,您可以在不接触 Python 的情况下将其作为单线执行:
cat folder/full/of/etc/* > output_concateFile.txt。 -
不管怎样,你的尝试有什么错误?
-
我有这个例外:文件 #2311 Teka_TK2_1280__Opinion_2039705.html.txt concat = ''.join([open(path + f).read() for f in files]) 文件 #2312 Teka_TK2_1280__Opinion_2085252。 html.txt IOError: [Errno 2] 没有这样的文件或目录:'/Users/user/Desktop/OpinionsTAG_txt.DS_Store'
-
concat = ''.join([open(os.path.join(path , f)).read() for f in files])或者如果你真的不想使用 os.path.join 使用path +"/"+ f -
错误似乎很明显。存在的文件是
/Users/user/Desktop/OpinionsTAG_txt.DS_Store,没有这样的文件,但是有一个名为/Users/user/Desktop/OpinionsTAG_txt/.DS_Store的文件,所以你错过了一个/。