我是编码新手,无法使用从Reddit抓取的数据编写CSV文件。
首先,我使用pushshift API抓取了数据,该API以列表格式返回了结果,如下图所示在此处输入图像描述
我想将该数据写入CVS文件以在R中运行内容分析。每一行(0000、00001等)都作为一行。但是,我无法运行用于组织列中每个参数的代码。例如,我希望这些列为submissions.author,submissions.num_comments,submissions.title等。
我运行了这段代码,但是结果与我要找的不完全一样
import csv
with open('my_file.csv', 'w') as f:
writer = csv.writer(f)
with open('my_file.csv', 'w') as f:
for row in lastest_submissions:
row_text = ','.join(row) + '\n'
f.write(row_text)
结果看起来像这样在这里输入图像描述
我想要的是参数的名称是标题,参数答案是每个单元格中的内容。例如,对于参数'author':'bl00d',标题将为author,单元格中的内容将为bl00d(对于0000行)。
我很感谢我的帮助和暗示。另外,请告诉我是否应提供完整的代码
在您的情况下,因为您已经拥有字典列表形式的数据,我想您可能想尝试使用csv.Dictwriter()
示例代码段:
import csv
lstdc = [{'name':'Jack', 'age': 26},
{'name':'John', 'age': 27},
{'name':'Lisa', 'age': 36},
{'name':'Adam', 'age': 16}]
fieldNames = list((lstdc[0]).keys())
with open('list_of_dict_to_csv.csv','w', newline='\n') as f:
writer = csv.DictWriter(f, fieldNames)
writer.writeheader()
for val in lstdc:
writer.writerow(val)
可以更换lstdc与latest_submissions和list_of_dict_to_csv.csv与my_file.csv文件
用内置的writerows()替换列表词典的迭代
with open('list_of_dict_to_csv.csv','w', newline='\n') as f:
writer = csv.DictWriter(f, fieldNames)
writer.writeheader()
writer.writerows(lstdc)
希望这可以帮助!