繁体   English   中英

Python + CSV:如何在Python中创建一个新的csv并为此写入新的列?

[英]Python + CSV : How can I create a new csv and write new columns to that in Python?

我想从头开始制作新的 CSV。 在该CSV中,我将逐行存储新单元格。 每个单元格值将动态计算,并且行将循环存储到csv中。 不幸的是,用于此目的的所有可用代码均适用于现有的CSV。 最好使用不使用Pandas数据框的代码。

最终CSV应该如下所示: 在此处输入图片说明

您可以创建自己的csv文件,在这里我想向您展示如何创建带标题的csv文件。

import csv
rowHeaders = ["Title", "Coupon code", "Description", "Image path", "Website link", "offer expire"]
fp = open('groupon_output.csv', 'w')
mycsv = csv.DictWriter(fp, fieldnames=rowHeaders)
#write header will write your desire header
mycsv.writeheader()

# you can write multiple value to take it inside the loop
#you can write row values using dict writer
title="testing"
coupon_code="xx"
description="nothing much"
image_path="not given"
current_page_url="www.google.com"

mycsv.writerow({"Title": title, "Coupon code": coupon_code, "Description": description,"Image path": image_path, "Website link": current_page_url,"offer expire": "Not Avialable"})

import csv

data =  [
        [ 'a','b','c','d'],
        [ 'b','1','2','3'],
        [ 'c','4','5','6'],
        [ 'd','7','8','9'],
        ]

with open ('output.csv', 'w') as output:
    writer = csv.writer(output)
    writer.writerows(data)

如果您将数据作为列表输入,

import csv

list_1 = ['UOM','BelRd(D2)','Ulsoor(D2)','Chrch(D2)','BlrClub(D2)','Indrangr(D1)','Krmngl(D1','KrmnglBkry(D1)']
list_2 = ['PKT',0,0,0,0,0,0,1]

with open('/path/filename.csv', 'w', newline='') as outfile:
    writer = csv.writer(outfile)
    writer.writerow(list_1)
    writer.writerow(list_2)

这可以帮助您!

def header():
    # Instead of hard coding like below, pass variables which hold dynamic values
    # This kind of hard coding can you help you when headers are fixed
    h1 = ['Date']  
    h2 = ['Feed']
    h3 = ['Status']
    h4 = ['Path']

    rows = zip(h1, h2, h3, h4)

    with open('test.txt', 'a') as f:
        wr = csv.writer(f)
        for row in rows:
            wr.writerow(row)
        f.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM