簡體   English   中英

Python中的CSV編寫器問題

[英]CSV Writer Issue in Python

我的代碼顯然搞砸了,但是幾次嘗試都使我無處可去。 我這樣創建了一個自定義方言...

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))

我認為這意味着,每次CSV編寫器在我的代碼中看到“ [”時,都會將隨后的輸出發送到新的單元格中。

我想要發送到CSV的最終代碼如下所示...

[[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],

而且,我希望每當您看到長數字“ 400827889”時,所有這些較小的列表和字符串都會被換行。

目前,我的變量名(第5行)顯示如下:

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]

我的CSV輸出如下:“ //”是我在事后添加的表示“新單元格”的內容,如下所示:

 "[400827888]"["[([48 //  0] //  'Andre Drummond vs. Al Horford (Ersan Ilyasova gains possession)'//  '0 - 0' //  'ATL')]"["['ATL -6.5']"["['Attendance: 19 // 187' //  'Capacity: 18 // 729']"["['Eli Roe //  Zach Zarba //  Michael Smith']"["[400827888]"["[([47..."

感謝您提供的所有幫助!

因此,根據此處csv上的python文檔 ,定界符是用於分隔數據字段的單個字符。 您要做的第一件事是將delimiter="[",更改為delimiter=",", 然后改變writer.writerows行5至write.writerow

您還應該使lineterminator = ''而不是空字符串。

老實說,我不確定csv是否是處理數據的最佳選擇。 因為看起來好像您有很多重復數據-您不需要每一行數據都需要行,引用,出席等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM