CSV文件处理
1.读取csv文件
假设存在文件stock.csv
import csv
with open('stock.csv', 'r') as fp:
#reader是一个迭代器
reader = csv.reader(fp)
for x in reader:
print(x)
这样操作,以后获取数据的时候,就要通过下标来获取数据。如果想要获取数据的时候通过标题来获取。那么可以使用DictReader。示例代码如下
import csv
with open('stock.csv','r') as fp:
reader = csv.DictReader(fp)
for x in reader:
print(x['key'])
2.写入csv文件
import csv
def write_csv():
headers = ['username', 'age', 'weight']
value = [
('张三', '18', '180'),
('李四', '18', '180'),
('王五', '19', '160'),
]
#设置newline为空,这样每次写入就不会换行
with open('users.csv', 'w', encoding='utf-8', newline='') as fp:
writer = csv.writer(fp)
writer.writerow(headers)
writer.writerows(value)
#以字典的方式进行写入
def write_csv_Dict():
headers = ['username', 'age', 'weight']
values = [
{'username': '李四', 'age': 18, 'weight': 120},
{'username': '王五', 'age': 19, 'weight': 120},
{'username': '张三', 'age': 20, 'weight': 110}
]
with open('users2.csv', 'w', encoding='utf-8', newline='') as fp:
fp = csv.DictWriter(fp, headers)
#注意这时候还要写入头
fp.writeheader()
fp.writerows(values)
if __name__ == '__main__':
write_csv_Dict()