0

编辑:谢谢大家的回答,得到了我需要的东西!!

基本上我正在尝试获取我存储在文本文件中的内容,并尝试将其写入 .csv 文件。在我的文件中是我存储的推文,我试图在我的 .csv 文件的每个单元格中都有一条推文。

现在它只需要一条推文并用它创建一个 .csv 文件,我需要它来获取所有这些。任何帮助是极大的赞赏。这是我到目前为止所拥有的。

with open('reddit.txt', 'rb') as f:
reader = csv.reader(f, delimiter=':', quoting = csv.QUOTE_NONE)
for row in reader:
    print row


    cr = csv.writer(open('reddit.csv', 'wb'))
    cr.writerow(row)
4

2 回答 2

4

您需要在循环之外创建编写器:

with open('reddit.txt', 'rb') as input_file:
    reader = csv.reader(input_file, delimiter=':', quoting = csv.QUOTE_NONE)

    with open('reddit.csv', 'wb') as output_file:
        writer = csv.writer(output_file)

        for row in reader:
            writer.writerow(row)

虽然在这里打开文件可能会更干净with

input_file = open('reddit.txt', 'rb')
output_file = open('reddit.csv', 'wb')

reader = csv.reader(input_file, delimiter=':', quoting=csv.QUOTE_NONE)
writer = csv.writer(output_file)

for row in reader:
    writer.writerow(row)

input_file.close()
output_file.close()

或者你仍然可以使用with并且只有很长的一行:

with open('reddit.txt', 'rb') as input_file, open('reddit.csv', 'wb') as output_file:
    reader = csv.reader(input_file, delimiter=':', quoting = csv.QUOTE_NONE)
    writer = csv.writer(output_file)

    for row in reader:
        writer.writerow(row)
于 2012-12-10T05:57:54.463 回答
0

该行cr = csv.writer(open('reddit.csv', 'wb'))位于 for 循环内。您只需打开文件一次,将此行放在后面

reader = csv.reader(f, delimiter=':', quoting = csv.QUOTE_NONE)

然后像在每个循环迭代中那样写入它。

于 2012-12-10T05:59:38.080 回答