合并几个txt。多行文件到一个 csv 文件(1 行 = 1 个文档)用于主题建模

Merge several txt. files with multiple lines to one csv file (1 line = 1 document) for Topic Modeling

到目前为止我有 30 个文本文件,它们都有 多行 行。我想应用基于 this tutorial 的 LDA 模型。 所以,对我来说它应该是这样的:

text of document1
text of document2
text of document3 
.....
text of document30

但是特定文档的整个文本必须在 一个 行上。

我试过 但出于某种原因它一直说: csv_output.writerow(row[1] for row in csv_text) IndexError: list index out of range 。有什么想法吗?当然,我以相同的方式命名文档并编辑了范围。

基本上,我不关心我们能否用python解决这个问题。我刚刚受够了,所以非常感谢您的帮助

遍历文件,从 1 到 31(最后一个被 range() 函数跳过:

with open("lda_datafile.csv", "w", newline="") as wf:
    csv_output = csv.writer(wf)
    for x in range(1, 31):
        filepath = os.path.normpath(r"C:\Text\file{}.txt".format(x))
        with open(filepath, "r", newline="") as rf:
            csv_text = csv.reader(rf, delimiter=":", skipinitialspace=True)
            csv_output.writerow(row[1] for row in csv_text)

我不太确定你想要完成什么,但要删除文本文件的换行符并用结果制作一个大文本文件,以下内容应该有效:

for i in *.txt; do NEW=` cat $i | tr '\n' ' '` ; echo $NEW  >> output.txt; done