我要替换cvs文件text.csv
的标题行。
header_list = ['column_1', 'column_2', 'column_3']
标题看起来像这样;
column_1, column_2, column_3
这是我的代码;
import csv
with open('text.csv', 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(header_list)
csv文件的标题已正确替换。但是,csv文件中的其余行已删除。如何只替换标题,而保留其他行不变?
我正在使用python v3.6
答案 0 :(得分:3)
这是使用subprojects {
plugins.withId('java', { _ ->
sourceSets {
integTest {
java.srcDir file('src/integration-test/java')
resources.srcDir file('src/integration-test/resources')
compileClasspath = sourceSets.main.output + configurations.integTest
runtimeClasspath = output + compileClasspath
}
}
})
}
模块的正确方法。
csv
将csv文件的内容读入字典列表。它带有一个可选的csv.DictReader
参数,如果设置了该参数,则会应用自定义标头,并忽略原始标头,并将其视为数据行。因此,您所需要做的就是阅读您的csv
fieldnames
复制文件,并用csv.DictReader
写入数据。您将必须删除csv.DictWriter
中的第一行,因为它包含旧的标头并写入新的标头。不过,将新数据写入单独的文件确实很有意义。
reader
答案 1 :(得分:2)
使用此:
import csv
header_list = ['column_1', 'column_2', 'column_3']
mystring = ",".join(header_list)
def line_prepender(filename, line):
with open(filename, 'r+') as csvfile:
content = csvfile.read()
csvfile.seek(0, 0)
csvfile.write(line.rstrip('\r\n') + '\n' + content)
line_prepender("text.csv", mystring)