Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在CSV文件中写入子部分_Python_Python 2.7_Csv - Fatal编程技术网

Python 如何在CSV文件中写入子部分

Python 如何在CSV文件中写入子部分,python,python-2.7,csv,Python,Python 2.7,Csv,我必须修改下面的类 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 = cs

我必须修改下面的类

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)
我必须添加一个参数“subsection”来写入_data(),以便它在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模块实现此类子部分?我快速搜索了一下,但没有从源代码中找到任何..

,似乎您想编写
部分
变量
。所以它看起来像是
INI文件
格式。如果是,请考虑使用<代码> ConfigParser <代码>模块。 即使你不想这样,你也可以得到一个提示来编写你自己的
csv\u writer
类(比如需要“set”和“write”方法等等)

例如:

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

看起来你并没有探索过所有的选择。尝试在您的实现中保留不同的子部分(而不是csv模块的子部分),并仅在接收完输入后才对其进行处理。@Tal谢谢。我知道。我想知道是否可以在收到数据时更新csv: