我必须修改以下类。
class csv_writer:
def __init__(self,filename):
self.filename = filename
def write_data(self,variable,value):
data = [variable,value]
with open(self.filename,'a') as c_writer:
writer = csv.writer(c_writer, delimiter=',', quotechar='|', quoting=csv.QUOTE_NONE, lineterminator='\n')
writer.writerow(data)
我必须在write_data()中添加一个参数“subsection”,以便它在csv中创建一个子部分并在该子部分下写入数据。
obj = csv_writer('List.csv')
obj.write_data('TEST1','sample1',27)
obj.write_data('TEST2','sample3',12) # to group2 :)
obj.write_data('TEST1','sample2',34) # again to group1 :(
obj.write_data('TEST2','sample4',32)
例如,它必须创建一个类似于上面的CSV文件:
TEST1
sample1,27
sample2,34
TEST2
sample3,12
sample4,32
是否可以使用csv模块实现这种子部分?我做了一个快速搜索,但没有找到任何..
答案 0 :(得分:0)
从您的源代码中,您似乎想要编写section
,variable
和value
。所以它看起来像INI file
格式。如果是这样,请考虑使用ConfigParser
模块。
即使你不想要这个,你也可以得到一个写自己的csv_writer
课程的提示(就像需要"设置"和#34;写"方法等...)
例如:
import ConfigParser
config = ConfigParser.RawConfigParser()
config.add_section('TEST1')
config.add_section('TEST2')
config.set('TEST1','sample1',27)
config.set('TEST2','sample3',12)
config.set('TEST1','sample2',34)
config.set('TEST2','sample4',32)
with open("./sample.ini", 'w') as fp:
config.write(fp)
输出:
[TEST1]
sample1 = 27
sample2 = 34
[TEST2]
sample3 = 12
sample4 = 32