繁体   English   中英

从文本文件中获取数据并将其作为python中的.csv文件写入

[英]Taking data from text file and writing it as a .csv file in python

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

基本上,我试图获取存储在文本文件中的内容,然后尝试将其写入.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)

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

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)

cr = csv.writer(open('reddit.csv', 'wb'))在for循环内。 您只需要打开一次文件,然后在此行之后

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

然后像在每个循环迭代中一样进行写入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM