Python Language
Запись в CSV из строки или списка
Поиск…
Вступление
Запись в CSV-файл не похожа на запись в обычный файл в большинстве случаев и довольно проста. Я, насколько это возможно, рассмотрю самый простой и эффективный подход к проблеме.
параметры
параметр | подробности |
---|---|
открыть ( «/ путь /» , «режим») | Укажите путь к файлу CSV |
open (путь, «режим» ) | Укажите режим открытия файла (чтение, запись и т. Д.). |
csv.writer ( файл , разделитель) | Пропустите открытый CSV-файл здесь |
csv.writer (файл, разделитель = '' ) | Укажите символ или шаблон разделителя |
замечания
open( path, "wb")
"wb"
- режим записи.
Параметр b
в "wb"
мы использовали, необходим, только если вы хотите открыть его в двоичном режиме, который требуется только в некоторых операционных системах, таких как Windows.
csv.writer ( csv_file, delimiter=',' )
Здесь разделитель, который мы использовали, заключается в том ,
что мы хотим, чтобы каждая ячейка данных в строке содержала первое имя, фамилию и возраст соответственно. Поскольку наш список разделен вдоль ,
тоже, оказывается весьма удобно для нас.
Пример базовой записи
import csv
#------ We will write to CSV in this function ------------
def csv_writer(data, path):
#Open CSV file whose path we passed.
with open(path, "wb") as csv_file:
writer = csv.writer(csv_file, delimiter=',')
for line in data:
writer.writerow(line)
#---- Define our list here, and call function ------------
if __name__ == "__main__":
"""
data = our list that we want to write.
Split it so we get a list of lists.
"""
data = ["first_name,last_name,age".split(","),
"John,Doe,22".split(","),
"Jane,Doe,31".split(","),
"Jack,Reacher,27".split(",")
]
# Path to CSV file we want to write to.
path = "output.csv"
csv_writer(data, path)
Добавление строки в качестве новой строки в файле CSV
def append_to_csv(input_string):
with open("fileName.csv", "a") as csv_file:
csv_file.write(input_row + "\n")
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow