我有一堆CSV文件要转换为单个CSV文件,其中每行代表一个原始CSV文件。我正在使用CSV包,我已经知道如何从原始CSV文件中读取条目。我还有一个模板CSV文件,它只包含一行,即我想要创建的单个CSV的标题(包含“Price”,“Date”和“Quantity”等列名)。
with open ('TemplateFile.csv', 'w') as TemplateFile:
TemplateFileWriter = csv.writer(TemplateFile, delimiter=';')
# I already have references to all the files I want to access in the variable fileList
for f in fileList:
with open(f, 'r') as InputFile:
InputFileReader = list(csv.reader(InputFile, delimiter=';'))
# This is where I store the 'Price' variable.
tmp = InputFileReader[3][3]
现在,我想要做的是方便地将tmp
存储在TemplateFile
中的某一行,与“Price”恰好相同的列。我一直在阅读CSV包以及write
和DictWrite
,但我发现文档无法遵循。
我想拥有的是最后一行的最终结果:
TemplateFileWriter[myPrefferedRow]['Price'] = tmp
我是否试图在这里实现一些不可能的事情,或者这可能与CSV包有关吗?
答案 0 :(得分:1)
csv.reader
和csv.writer
只读取和写入行,因此就像使用list(csv.reader(...))
读取行并将它们放入列表列表一样,您可以创建列表列表(或输出,输出,根据需要修改条目,然后使用TemplateFileWriter.writerows()
将其输出到文件。
答案 1 :(得分:0)
numpy包有一个loadtxt函数,可以做你想要的......
import numpy as np
def foo(fname):
yourdata = np.loadtxt(fname, delimiter=';')
return yourdata[3,3]