我知道这个问题已经被问过几次了,但我已经尝试了一切,但似乎没有任何效果,我想我只需要第二双眼睛来告诉我我做错了什么。
我目前可以像这样写入我的 CSV 文件
Row 1: Date
Row 2: User_Name
Row 3: Text
etc..
但我想这样写
Column1 Column2 Column3
Date User_Name Text
这是我的代码
writer = csv.writer(open('test.csv', 'ab'))
r = api.request('search/tweets', {'q':'pizza'})
for item in r:
screen_name = item['user']['screen_name'].encode('utf-8')
created_at = item['created_at'].encode('utf-8')
tweet = item['text'].encode('utf-8')
writer.writerows([screen_name, created_at, tweet])
我当前使用此代码的输出如下所示
d,o,m,i,n,o,s
W,e,d, ,O,c,t, ,2,8, ,1,9,:,0,1,:,1,6, ,+,0,0,0,0, ,2,0,1,5
@,G,i,a,n,k,i,5,8,9,6, ,T,r,y,i,n,g, ,t,o, ,o,r,d,e,r,?, ,L,e,a,r,n, ,h,o,w, ,t,o, ,e,n,a,b,l,e, ,T,w,e,e,t, ,O,r,d,e,r,i,n,g, ,i,n, ,y,o,u,r, ,P,i,z,z,a, ,P,r,o,f,i,l,e,:, ,h,t,t,p,s,:,/,/,t,.,c,o,/,z,U,m,E,c,Y,M,6,5,2, ,[,1,5,:,0,1,:,2,2, ,E,D,T,]
K,_,_,B,o,o,k,s
非常感谢任何帮助
最佳答案
您需要调用 .writerow()
循环内:
for item in r:
screen_name = item['user']['screen_name'].encode('utf-8')
created_at = item['created_at'].encode('utf-8')
tweet = item['text'].encode('utf-8')
writer.writerow([screen_name, created_at, tweet])
或者,收集列表列表中的行并调用 .writerows()
之后:
rows = []
for item in r:
screen_name = item['user']['screen_name'].encode('utf-8')
created_at = item['created_at'].encode('utf-8')
tweet = item['text'].encode('utf-8')
rows.append([screen_name, created_at, tweet])
writer.writerows(rows)
关于python - 写入 CSV 中的不同列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33399561/