我很难尝试修改 .csv 文件中的列名称。我正在将我的 .csv 报告上传到一个平台,该平台要求它以
";"
符号结尾。我正在使用 csv.writer,并试图将符号附加到第一行标题列表的末尾,但没有成功。
HEADER_LIST: list = ["NAME_1", "NAME_2", "NAME_3", "NAME_4", "NAME_5", "NAME_6"]
def writing_to_csv(CSV_PATH, FILE_TO_WRITE) -> Path:
pathFile: Path = Path(CSV_PATH).joinpath(FILE_TO_WRITE)
rows = zip(LIST_1, LIST_2, LIST_3, LIST_4, LIST_5, LIST_6)
with open(pathFile.as_posix(), "w+", newline='') as csv_file:
to_write = csv.writer(csv_file, delimiter=";")
to_write.writerow(HEADER_LIST)
for row in rows:
to_write.writerow(row)
return pathFile
此代码返回一个 .csv 文件,如下所示:
NAME_1;NAME_2;NAME_3;NAME_4:NAME_5;NAME_6
EL_1_LIST_1;EL_1_LIST_2;EL_1_LIST_3;EL_1_LIST_4;EL_1_LIST_5;EL_1_LIST_6
EL_2_LIST_1, ...
尝试再次打开我的 .csv 文件并使用另一个函数附加到带有标题的第一行:
def add_semicolon_to_csv(CSV_PATH, FILE_TO_WRITE):
pathFile: Path = Path(CSV_PATH).joinpath(FILE_TO_WRITE)
with open(pathFile.as_posix(), "a+", newline='') as csv_file:
to_append = csv.writer(csv_file)
to_append.writerow(";")
但是我想要的输出看起来像这样:
NAME_1;NAME_2;NAME_3;NAME_4:NAME_5;NAME_6;
EL_1_LIST_1;EL_1_LIST_2;EL_1_LIST_3;EL_1_LIST_4;EL_1_LIST_5;EL_1_LIST_6
EL_2_LIST_1, ...
它像这样更改我的文件:
NAME_1;NAME_2;NAME_3;NAME_4:NAME_5;NAME_6
EL_1_LIST_1;EL_1_LIST_2;EL_1_LIST_3;EL_1_LIST_4;EL_1_LIST_5;EL_1_LIST_6
EL_2_LIST_1, ...
;
有人可以指出我的代码中的问题在哪里吗?谢谢