Python中的CSV Writer问题

时间:2016-07-17 17:11:34

标签: python csv export-to-csv

我的代码显然搞砸了,但是几次尝试都让我无处可去。我创建了一个自定义方言......

long n = 2342345234L;
for (long i = 1; i < n; i++)
{
    System.out.println(i);
}

我认为这意味着每次CSV编写者看到&#34; [&#34;在我的代码中,是将后面的输出发送到新单元格。

我想发送给CSV的最终代码看起来像......

def wereofftoseesv(start_id, end_id):
    with open('nba_2015_16_pbp.csv', "w") as f:
        csv.register_dialect('scraper', delimiter="[", lineterminator = '', escapechar='', quoting=csv.QUOTE_MINIMAL)
        writer = csv.writer(f, dialect='scraper')
        writer.writerows(["gameid", "time_remaining", "entry", "score", "team", "line", "attendance + capacity", "refs"])
        writer.writerows(list_cleaner(start_id, end_id))

每当你看到长号时,我想要一个包含所有小号列表和字符串的新行&#34; 400827889&#34;。

目前,我的变量名称(第5行)显示如下:

[[400827889], [([48, 0], 'Timofey Mozgov vs. Pau Gasol (Derrick Rose gains possession)', '0 - 0', 'CHI')], ['CHI -1.5'], ['Attendance: 21,957', 'Capacity: 20,917'], ['Mark Ayotte, Scott Foster, Ben Taylor'], [400827889], [([47, 34],

我的CSV输出,&#34; //&#34;由我代表&#34; new cell&#34;的事后补充,如下:

g[a[m[e[i[d]     t[i[m[e[_[r[e[m[a[i[n[i[n[g]    e[n[t[r[y]  s[c[o[r[e]  t[e[a[m]    l[i[n[e]    a[t[t[e[n[d[a[n[c[e[" "[+[" "[c[a[p[a[c[i[t[y]  r[e[f[s]

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

因此,根据pythons documentation on csv here,分隔符是分隔数据字段的单个字符。您要做的第一件事就是将delimiter="[",更改为delimiter=",",。然后将第5行中的writer.writerows更改为write.writerow

您还应该让lineterminator = ''成为空字符串以外的其他内容。

说实话,我不确定csv是否是处理数据的最佳选择。因为看起来你有很多重复的数据 - 你不需要每行数据的行,参考,出勤等。