【发布时间】:2013-06-30 14:29:19
【问题描述】:
我正在尝试使用以下代码将字典值列表提取到文件中:
import csv
def function(file, output, deli = ','):
dictionary = dict()
with open(file, 'r') as source, open(output, 'w') as outp:
data = csv.reader(source)
line0 = next(data)
i = 0
for element in line0:
dictionary[i] = element
i += 1
my_writer = csv.writer(outp)
for element in dictionary.values():
print(element)
my_writer.writerow(element)
if __name__ == '__main__':
from sys import argv
if len(argv) == 2:
function(argv[1])
elif len(argv) == 3:
function(argv[1], argv[2])
elif len(argv) == 4:
function(argv[1], argv[2], argv[3])
print("ok")
要在 shell 上运行此代码,我使用以下命令: python function.py 输入输出
但是,尝试使用 csv 文件,例如: 阿尔法,贝塔,伽马,德尔塔
我得到以下结果:
a,l,p,h,a
,b,e,t,a
,g,a,m,m,a
,d,e,l,t,a
我尝试将分隔符更改为“”,但使用空格而不是逗号得到了相同的结果。
我错过了什么吗?
【问题讨论】:
-
您得到的输出与您期望的输出有何不同?
-
我期望拥有:alpha、beta、gamma、delta
-
@bigTree 你想用
dict做什么? -
@JonClements 我创建了字典以方便地访问 line0 中的元素(实际上,原始 csv 文件每列有一个元素,我想检索每个元素的列号)
-
具有
0,1,2,3,键的字典可能可以替换为列表