Python 将段落元组列表写入csv文件
下面的代码设计用于将一个元组(每个元组包含一个大的文本段落,后面有两个标识符)写入每个条目的一行Python 将段落元组列表写入csv文件,python,csv,Python,Csv,下面的代码设计用于将一个元组(每个元组包含一个大的文本段落,后面有两个标识符)写入每个条目的一行 import urllib2 import json import csv base_url = "https://www.eventbriteapi.com/v3/events/search/?page={} writer = csv.writer(open("./data/events.csv", "a")) writer.writerow(["description", "category_
import urllib2
import json
import csv
base_url = "https://www.eventbriteapi.com/v3/events/search/?page={}
writer = csv.writer(open("./data/events.csv", "a"))
writer.writerow(["description", "category_id", "subcategory_id"])
def format_event(event):
return event["description"]["text"].encode("utf-8").rstrip("\n\r"), event["category_id"], event["subcategory_id"]
for x in range(1, 2):
print "fetching page - {}".format(x)
formatted_url = base_url.format(str(x))
resp = urllib2.urlopen(formatted_url)
data = resp.read()
j_data = json.loads(data)
events = map(format_event, j_data["events"])
for event in events:
#print event
writer.writerow(event)
print "wrote out events for page - {}".format(x)
理想的格式是每行包含一个段落,然后是上面列出的其他字段,但这里有一个显示数据的屏幕截图
如果我将此行改为以下内容:
writer.writerow([event])
以下是文件现在的外观:
它当然看起来更接近我想要的,但它在每个条目周围都有括号,这是不可取的
编辑
是包含我正在使用的数据示例的代码段。将您的csv编写器更改为 做一些调整:
def format_event(event):
return {"description": event["description"]["text"].encode("utf-8").rstrip("\n\r"),
"category_id": event["category_id"],
"subcategory_id": event["subcategory_id"]}
也许你还需要做一些其他的小事情,但是使用DictWriter和适当地格式化你的数据是我发现的处理csv文件最简单的方法 将您的csv编写器更改为 做一些调整:
def format_event(event):
return {"description": event["description"]["text"].encode("utf-8").rstrip("\n\r"),
"category_id": event["category_id"],
"subcategory_id": event["subcategory_id"]}
也许你还需要做一些其他的小事情,但是使用DictWriter和适当地格式化你的数据是我发现的处理csv文件最简单的方法 您是否可以尝试直接写入CSV文件而不使用
CSV
模块?您可以将逗号分隔的字符串写入/附加到CSV文件,就像写入典型的文本文件一样。此外,处理删除\r
和\n
字符的方法可能不起作用。您可以使用正则表达式查找这些字符,并用空字符串替换它们。“”:
您是否可以尝试直接写入CSV文件而不使用
CSV
模块?您可以将逗号分隔的字符串写入/附加到CSV文件,就像写入典型的文本文件一样。此外,处理删除\r
和\n
字符的方法可能不起作用。您可以使用正则表达式查找这些字符,并用空字符串替换它们。“”:
我仍然有相同的间距问题,我添加了一个片段,其中包含我正在处理的数据示例。问题可能在于您处理删除
\r
和\n
字符的方式。我已经更新了我的答案,以反映一种解决方案,该解决方案利用正则表达式查找这些字符,并用空字符串替换它们,我添加了一个包含我正在处理的数据示例的代码段。问题可能在于您处理删除\r
和\n
字符的方式。我已经更新了我的答案,以反映一种解决方案,该解决方案利用正则表达式查找这些字符,并用空字符串替换它们,我添加了一个片段,其中包含我正在使用的数据示例。如果我将字典转换为json并转储,则文本格式正确。我仍然存在相同的间距问题,我添加了一个片段,其中包含我正在处理的数据示例。如果我将字典转换为json并转储它,那么文本的格式是正确的。