"将列表追加到现有csv,根据标题"

2024-10-01 11:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有标题的CSV

KlM1,KLM2,KLM3

我有一张单子

['1', 'Tafsir An-Nas (114) Aya 6', '4-6. Aku berlindung kepada-Nya dari kejahatan bisikan setan yang bersembunyi pada diri manusia dan selalu bersamanya layaknya darah yang mengalir di dalam tubuhnya, yang membisikkan kejahatan dan kesesatan ke dalam dada manusia dengan cara yang halus, lihai, licik, dan menjanjikan secara terus-menerus. Aku berlindung kepada-Nya dari setan pembisik kejahatan dan kesesatan yang berasal dari golongan jin, yakni makhluk halus yang tercipta dari api, dan juga dari golongan manusia yang telah menjadi budak setan.']

但当我使用此代码保存时:

list1 = ['1',''+str(test)+'',''+arti2+''] 
with open('Alquran.csv', 'a') as file:
    coba=csv.writer(file)
    coba.writerows(list1)

他们只是填写KLM1 如何将列表保存为标题


Tags: 标题yangdandalamnyadariakusetan
1条回答
网友
1楼 · 发布于 2024-10-01 11:19:25

您需要向writerows(...)提供所有行-它需要一个行列表,每一行都是一个列列表:

import csv

header = ["h1","h2","h3"]
row1 = [11,12,13]
row2 = [21,22,23]

# always use newline="" for csv-module opened file
with open('Alquran.csv', 'a', newline="") as file:
    coba=csv.writer(file)
    # list of rows, each row is a list of columns 
    coba.writerows( [header, row1, row2] )

with open('Alquran.csv',"r") as r:
    print(r.read())

输出:

h1,h2,h3
11,12,13
21,22,23

要稍后添加更多信息,请执行以下操作:

another_row = [31,32,33]

with open('Alquran.csv', 'a', newline="") as file:
    coba=csv.writer(file)
    # list of 1 row, containing 3 columns 
    coba.writerows( [another_row] )

with open('Alquran.csv',"r") as r:
    print(r.read())

添加后的输出:

h1,h2,h3
11,12,13
21,22,23
31,32,33

Doku:

相关问题 更多 >