我正在尝试从csv文件创建字典。csv文件的第一列包含唯一键,第二列包含值。csv文件的每一行代表字典中的唯一键,值对。我尝试使用csv.DictReaderand csv.DictWriter
类,但是我只能弄清楚如何为每一行生成一个新的字典。我要一部字典。这是我尝试使用的代码:
import csv
with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
with open('coors_new.csv', mode='w') as outfile:
writer = csv.writer(outfile)
for rows in reader:
k = rows[0]
v = rows[1]
mydict = {k:v for k, v in rows}
print(mydict)
当我运行上面的代码时,我得到一个ValueError: too many values to unpack (expected 2)
。如何从csv文件创建一个字典?
我相信你正在寻找的语法如下:
with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
with open('coors_new.csv', mode='w') as outfile:
writer = csv.writer(outfile)
mydict = {rows[0]:rows[1] for rows in reader}
或者,对于python <= 2.7.1
,你需要:
mydict = dict((rows[0],rows[1]) for rows in reader)
我有一些代码可以读取一个拼花文件,然后显示它,就像这样: 这工作正常,但我想从输出创建一个CSV文件,即: 我希望创建一个CSV文件,其中包含列标题、逗号分隔的数据和数据。这样地: 我纠结于如何将拼花文件中的结果转换为CSV文件。你能帮助我吗?
问题内容: 我有一个名为“ clients”的Sqlite 3和/或MySQL表。 使用python 2.6,如何创建带有标题的名为Clients100914.csv的csv文件?excel方言… Sql execute:select *仅提供表数据,但是我想要带有标题的完整表。 如何创建记录集以获取表头。表头应该直接来自不是用python编写的sql。 这段代码使我无法打开文件,也没有标题。也无
问题内容: 我想创建一个csv文件,但是当我运行代码时,它返回一个空白页,没有csv文件。我使用PHP5。我使用以下代码: 谢谢! 问题答案: 其空白,因为您正在写信。您应该写到using 代替,还应该发送标头信息以表明它是csv。 例
问题内容: 我试图允许用户下载包含其操作定义的数据的CSV文件。该文件不存在,它是动态创建的。如何在Flask中做到这一点? 问题答案: 使用生成数据并传输响应。使用写入内存缓冲区,而不是生成中间文件。 如果该generate函数需要从current中获取信息request,则应使用修饰stream_with_context,否则您将收到“在外部请求上下文中工作”错误。其他所有内容保持不变。
问题内容: 我正在寻找一个允许我将.csv内容映射到对象的库。 就像是: 然后说像这样: 从给定的CSV: 有谁知道这样的API,或者做类似的事情。我不希望它必须使用注释,我只是希望能够用一行代码和一个预定义的类来加载文件。 问题答案: JSefa允许您注释可在序列化和反序列化过程中使用的Java类。本教程演示了如何与CsvIOFactory类一起使用。 (来自教程)对bean进行注释就像在值列表