37,719
社区成员
发帖
与我相关
我的任务
分享
# 读
with open('eggs.csv', encoding='utf8', newline='') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
# print(row)
print(', '.join(row))
# 写
# 在windows这种使用\r\n的系统里,不用newline=''的话,会自动在行尾多添加个\r,导致多出一个空行,即行尾为\r\r\n
with open('eggs.csv', 'w', encoding='utf8', newline='') as csvfile:
spamwriter = csv.writer(csvfile)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
# 读
with open('names.csv', encoding='utf8', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
# 写
with open('names.csv', 'w', encoding='utf8', newline='') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
>>> data_text = """header1,header2,header3, header4
d1,d2,d3,d4
d5,d6,d7,d8"""
>>> from io import StringIO
>>> f = StringIO(data_text)
>>> import csv
>>> list(csv.reader(f))
[['header1', 'header2', 'header3', ' header4'], ['d1', 'd2', 'd3', 'd4'], ['d5', 'd6', 'd7', 'd8']]
>>>