写一个将字典按列新加入csv文件的py代码
时间: 2023-08-31 16:19:39 浏览: 170
### 回答1:
您可以使用Python的csv模块来实现这一功能。
```
import csv
# 定义字典
data = {'name': 'John', 'age': 25, 'city': 'New York'}
# 打开csv文件,指定模式为"a",表示在文件末尾追加数据
with open('data.csv', 'a', newline='') as file:
writer = csv.DictWriter(file, fieldnames=data.keys())
# 如果是第一次写入,需要写入字段名
writer.writeheader()
writer.writerow(data)
```
这段代码将创建一个名为data.csv的文件,并在其末尾添加一行数据。如果文件不存在,它将被创建;如果文件已存在,将在末尾追加一行数据。
### 回答2:
import csv
def write_dict_to_csv(dictionay, filename):
keys = list(dictionay.keys())
values = list(dictionay.values())
with open(filename, 'a', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
if file.tell() == 0:
writer.writerow(keys)
writer.writerow(values)
print("字典已成功写入CSV文件!")
# 测试代码
dict_1 = {'姓名': '张三', '年龄': 25, '性别': '男'}
filename_1 = "data.csv"
write_dict_to_csv(dict_1, filename_1)
### 回答3:
下面是一个将字典按列添加到CSV文件的Python代码示例:
```python
import csv
def append_dict_to_csv(file_name, dictionary):
# 检查文件是否存在,如果不存在,则创建新文件并写入标题行
file_exists = os.path.isfile(file_name)
with open(file_name, 'a', newline='') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=dictionary.keys())
if not file_exists:
writer.writeheader() # 写入标题行
writer.writerow(dictionary) # 将字典写入CSV文件的新行
# 测试代码
file_name = 'data.csv'
data = {'Name': '张三', 'Age': 25, 'City': '北京'}
append_dict_to_csv(file_name, data)
```
以上代码的功能是将字典按列添加到CSV文件中。文件名和字典作为参数传递给`append_dict_to_csv`函数。该函数首先检查文件是否存在,如果不存在,则创建新文件并写入标题行。然后将字典中的键作为CSV文件的列名,并将值作为新行写入文件。
阅读全文