用Python编写CSV文件

时间:2018-08-02 17:46:06

标签: python python-3.x

我正在尝试使用Python在CVS文件中保存一些信息。

当我运行它时,它看起来可以工作,但是当我转到该文件时,什么都没出现

这是我的代码:

dic = {"name": "jason", "name": "mike"}
file = "names.csv"
cvs = open(file, "a")
column = "name,name2\n"
cvs.write(column)
for key in dic.keys():
    name = key
    name2 = dic[key]
    fil = name + "," + name2 + "\n"
    cvs.write(fil)

3 个答案:

答案 0 :(得分:0)

(它是csv,而不是cvs。CSV是逗号分隔值,CVS是药店)。

您永远不会关闭文件。只需输入

cvs.close()

在代码末尾,它应该可以按预期工作。

答案 1 :(得分:0)

简单:

import csv

data = {'name':'jason','name':'mike'}
with open('names.csv', 'w+') as csvf:
    writer = csv.DictWriter(csvf, fieldnames=['name'])
    writer.writeheader()
    for key, value in data.items():
        writer.writerow(value)

答案 2 :(得分:0)

首先,这是一个严重的问题-字典中不能多次使用相同的键!您可能有{'names':['Mike','Jason']},但按原样,其中一个将被另一个重写。这可能是您问题的一部分。

第二,通常来说,通过pandas.DataFrame.from_dict之类的函数通过熊猫进行csv创建要容易得多-更容易,更不易出错,等等-实际上我强烈建议不要编写此类文件手动。 (尽管这是我喜欢熊猫的全部内容。)

correctDict = {'names': ['Mike', 'Jason']}
df = pandas.DataFrame.from_dict(correctDict)
df.to_csv('myFile.csv')

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_dict.html