用python编写csv
我编写了一个python脚本,在该脚本中,我根据计算出的数字生成一个csv 我写的行是:用python编写csv,python,csv,Python,Csv,我编写了一个python脚本,在该脚本中,我根据计算出的数字生成一个csv 我写的行是: writeRow = [str(t), len(c) , {k for k in c.keys()}, {k for k in c.values()}] 我有两个问题: t是一个可以以0开头的数字。但在这种情况下,0将被删除。 我尝试不使用str(),但它没有改变 这些集合在单元格中作为集合打印。但是,我想在同一个单元格中写这些数字,用逗号分隔,没有{}我怎么做 编辑 我正在使用csv模块;在代码中,我为
writeRow = [str(t), len(c) , {k for k in c.keys()}, {k for k in c.values()}]
我有两个问题:
t
是一个可以以0开头的数字。但在这种情况下,0将被删除。
我尝试不使用str()
,但它没有改变{}
我怎么做from csv import reader, writer
with open(fileName1) as inp, open(fileName2,'w') as o:
然后定义reader、writer和变量t、c
writeRow = [str(t), len(c) , {k for k in c.keys()}, {k for k in c.values()}]
然后我将结果写入输出文件
编辑
t的形式和一行应该是什么样子
t=023
t=123
t是整数
最后的一行应该如下所示:
cell1 cell2 cell3 cell4
123 2 string1,string2 num1,num2
string1和str2是dict键;num1、num2对应的值对于初学者,可以利用
join()
方法(假设键和值是字符串):
这将处理逗号。但是,对于任何非平凡的数据,这将非常容易地被破坏,因此考虑使用模块,它将负责规避危险字符。
初学者,可以利用<代码> Cuin()/<代码>方法(假设键和值是字符串):
这将处理逗号。但是,对于任何非平凡的数据,这将非常容易地被破坏,所以请考虑使用模块来代替,它可以处理危险字符的逃逸。
使用格式字符串的方法是什么?p>
'%s,%i'%(t,c)
也许你想做什么就做什么。您还可以使用“%03i”或类似的方法在数字前生成一些填充零。或者,我可能误解了你的问题。尝试发布一个更完整(可运行)的示例。使用格式字符串怎么样
'%s,%i'%(t,c)
也许你想做什么就做什么。您还可以使用“%03i”或类似的方法在数字前生成一些填充零。或者,我可能误解了你的问题。尝试发布一个更完整(可运行)的示例。使用字符串格式填充0,并连接集合:
writeRow = ['{:0>3}'.format(t), len(c) , ','.join(c.keys()), ','.join(c.values())]
请注意,您不应使用前导的0
为t
输入值:
>>>t = 023
>>>t
19
对0填充使用字符串格式,对集合使用联接:
writeRow = ['{:0>3}'.format(t), len(c) , ','.join(c.keys()), ','.join(c.values())]
请注意,您不应使用前导的0
为t
输入值:
>>>t = 023
>>>t
19
为什么不直接使用这个模块呢?实际上我就是这么做的。在代码中,我为要写入的每一行创建列表,然后使用csv.writerowPlease编写它们。请按您希望的方式发布一行。您是否必须为每行指定相同数量的列(
len(c)
)?CSV在其他方面不太适合。我认为您最好显示更多代码。我不知道你的第一点是什么意思t
可以以零开始?什么是类型(t)
?是表示数字的str
?076
应该是八进制吗076==62
。为什么不直接使用模块呢?实际上我就是这么做的。在代码中,我为要写入的每一行创建列表,然后使用csv.writerowPlease编写它们。请按您希望的方式发布一行。您是否必须为每行指定相同数量的列(len(c)
)?CSV在其他方面不太适合。我认为您最好显示更多代码。我不知道你的第一点是什么意思t
可以以零开始?什么是类型(t)
?是表示数字的str
?076
应该是八进制吗076==62
。它在每个单元格d,i,c,t,u,k,e,y,s中返回,(键名称)它在每个单元格d,i,c,t,u,k,e,y,s中返回,(键名称)我认为我的问题不清楚(我用一个例子编辑了它)我认为我的问题不清楚(我用一个例子编辑了它)