在一个for循环里每次打开同一个csv文件并且实现文件不覆盖的写入数据
时间: 2023-11-27 14:53:10 浏览: 72
连续写入到csv文件_写入文件_
5星 · 资源好评率100%
可以使用Python内置的csv模块来完成这个任务。具体步骤如下:
1. 导入csv模块:`import csv`
2. 定义文件名和字段名:`filename = 'data.csv'`,`fields = ['name', 'age', 'gender']`
3. 定义一个函数来写入数据到csv文件中:
```python
def write_to_csv(filename, fields, data):
with open(filename, mode='a', newline='') as file:
writer = csv.DictWriter(file, fieldnames=fields)
if file.tell() == 0: # 如果文件为空,则写入标题行
writer.writeheader()
writer.writerow(data) # 写入数据
```
函数的参数包括文件名、字段名和要写入的数据,其中`mode='a'`表示以追加模式打开文件,`newline=''`表示不添加额外的换行符。
4. 在for循环中调用函数并传入数据:
```python
for data in datas:
write_to_csv(filename, fields, data)
```
这里假设`datas`是一个包含多行数据的列表,每行数据都是一个字典,键值分别对应字段名和数据。
这样就可以实现每次在同一个csv文件中追加写入数据,而不会覆盖原有数据。
阅读全文