Python 从.txt中提取数据并将其写入.csv

Python 从.txt中提取数据并将其写入.csv,python,csv,Python,Csv,我有一个包含json推文的txt文件, 每条tweet介于[“文本”:&“状态”:], 我已经设法只提取推文,现在我想把打印输出逐行写入csv import csv with open('trumpT.csv', "wb") as csvfile: writer = csv.writer(trumpT.csv, delimiter=',') with open('sim.txt', 'rb') as f: for line in f: line.split('"t

我有一个包含json推文的txt文件, 每条tweet介于[“文本”:&“状态”:], 我已经设法只提取推文,现在我想把打印输出逐行写入csv

import csv
with open('trumpT.csv', "wb") as csvfile:
    writer = csv.writer(trumpT.csv, delimiter=',')
with open('sim.txt', 'rb') as f:
    for line in f:
        line.split('"text" :')[1].split(', "is_quote_status')[0]
        writer.writerow(line)
错误 writer=csv.writer(trumpT.csv,分隔符=',') NameError:未定义名称“Trump”

我可以得到这个部分的权利,但csv不工作

with open('sim.txt', 'rb') as f:
    for line in f:
        print line.split('"text" :')[1].split(', "is_quote_status')[0]
试试这个:

import csv

with open("sim.txt", "r", newline='', encoding='utf8') as in_txt:
        in_reader = csv.reader(in_txt, delimiter = '\t')
        with open("trumpT.csv", "w", encoding='utf-8') as out_csv:
            out_writer = csv.writer(out_csv)
            for row in in_reader:
                row.split('"text" :')[1].split(', "is_quote_status')[0]
                out_writer.writerow(row)

使用
时,请注意查看,直到需要该对象时

Python随后将执行代码体,无论代码中发生了什么,都将调用guard对象的exit方法

因此,您必须使用
语句执行
正文中的所有操作
您的代码应该如下所示:

import csv
with open('trumpT.csv', "wb") as csvfile, open('sim.txt', 'rb') as f:       
    writer = csv.writer(trumpT.csv, delimiter=',')
    for line in f:
        line.split('"text" :')[1].split(', "is_quote_status')[0]
        writer.writerow(line)
资料来源:


使用可简化此过程

假设您在
/path/to/input.json
/path/to/input.txt
处有一个有效的json文件,只要存在有效的json,文件扩展名就不重要了

import pandas as pd

df = pd.read_json("path/to/input.txt")
df[["text", "created_at_date"]].to_csv("output.csv", index=False)

您遇到了哪一个错误?似乎您应该将
trumpT.csv
替换为
'trumpT.csv'
(需要引号)它在引号中!!我不知道为什么我会犯这个错误!!我说的不是第2行,而是第3行:
writer=csv.writer(trumpT.csv,delimiter=',')
现在我得到了一个新的错误,writer=csv.writer('trumpT.csv',delimiter=','))类型错误:参数1必须有一个“write”方法谢谢,我得到了一个错误--open(“sim.txt”,“r”,newline='',encoding='utf8')正如在_txt:TypeError:file()中,最多接受3个参数(4个给定参数)代码是针对版本3的,我假设您使用的是2。请尝试打开(“sim.txt”、“rb”)