使用Python打印到CSV文件
我需要将标题和数据行打印到CSV文件中。这是我的密码:使用Python打印到CSV文件,python,csv,Python,Csv,我需要将标题和数据行打印到CSV文件中。这是我的密码: import csv import sys with open(r'C:\Users\testuser\Desktop\raw_inpuy.csv','rb') as csvfile: reader=csv.reader(csvfile,delimiter=',') first=True data={} for row in reader: i
import csv
import sys
with open(r'C:\Users\testuser\Desktop\raw_inpuy.csv','rb') as csvfile:
reader=csv.reader(csvfile,delimiter=',')
first=True
data={}
for row in reader:
if first:
first= False
continue
if not int(row[1]) in data:
data[int(row[1])]=[]
data[int(row[1])].append(float(row[3]))
with open (r'C:\Users\testuser\Desktop\outcome.csv','wb') as f_out:
outwriter=csv.writer(f_out,delimiter=',')
f_out.write(";".join(['Size','S1','S2','S3','S4']))
for item in data:
row=[item]
row.extend(data[item])
f_out.write(";".join(map(str,row)))
我得到这个错误:
**ERROR Expected a character buffer obj**
你应该输入
writer。使用str
而不是列表编写:
writer.write(";".join(['Size','S1','S2','S3','S4']))
此外:
与其尝试构建自己的CSV记录,不如让CSV
模块来处理它。像这样:
import csv
data = [[10, 'foo', 'bar', 'blue', 'green'],
[20, 'bar', 'foo', 'blue', 'green'],
[30, 'ba', 'bar', 'red', 'white']]
with open (r'C:\Users\testuser\Desktop\outcome.csv','w') as file:
writer = csv.writer(file)
writer.writerow(['Size','S1','S2','S3','S4'])
for row in data:
writer.writerow(row)
您需要使用csv.writer
创建一个No!你不能完全根据第一个答案重写问题。回退,接受一个答案,然后问另一个问题!最后一行的新错误是:“序列项0:预期的字符串,int-found”我正在写入csv的内容由字符串和整数组成try:writer.write(;”。join(map(str,row)))
import csv
data = [[10, 'foo', 'bar', 'blue', 'green'],
[20, 'bar', 'foo', 'blue', 'green'],
[30, 'ba', 'bar', 'red', 'white']]
with open (r'C:\Users\testuser\Desktop\outcome.csv','w') as file:
writer = csv.writer(file)
writer.writerow(['Size','S1','S2','S3','S4'])
for row in data:
writer.writerow(row)