追加/更改现有 .csv 文件的最右列

问题描述 投票:0回答:0

我很难尝试修改 .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, ...
;

有人可以指出我的代码中的问题在哪里吗?谢谢

python list csv
© www.soinside.com 2019 - 2024. All rights reserved.