python csv实时一条一条插入且表头不重复问题

目录
  • csv实时一条条插入且表头不重复
    • 连续写入txt
  • csv写入时指定表头
    • 练习

csv实时一条条插入且表头不重复

1、主要就是在最开始插入的时候判断下表头或者表格是否有数据

2、用csv reader(然后主要写是a追加模式,读是r模式)

import csv
with open("111.csv","a",encoding='utf-8',newline="") as f:

     k = csv.writer(f, dialect="excel")
      with open("111.csv", "r", encoding='utf-8', newline="") as f:
          reader = csv.reader(f)
          if not [row for row in reader]:
              k.writerow(["标题", "链接", "喜欢"])
              k.writerow(list)
          else:
              k.writerow(list)
all_datas = [[1,2],[2,3],[1,2],[4,5]]
for list1 in all_datas:
    with open(r"ablchange1.csv", 'a+', encoding='utf-8-sig', newline="") as f:

        k = csv.writer(f, dialect="excel")
        with open("ablchange1.csv", "r", encoding='utf-8-sig', newline="") as f:
            reader = csv.reader(f)
            if not [row for row in reader]:
                k.writerow(["a","b"])

                k.writerow(list1)
            else:
                k.writerow(list1)

连续写入txt

with open("111.txt","a") as f:
    for i in range(100000):
        f.write(str(i)+"\n")
        if i==9000:
            break

csv写入时指定表头

import csv
with open('names.csv', 'w') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

练习

    with open('specific.csv', 'a', newline="") as csvfile:
        fieldnames = ['ebayno', "pov", "mpn", "ipn", "opn"]
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()
    file = open("aces_less.csv","w" , newline="")
    writer = csv.DictWriter(file, fieldnames=["asin","state"])
    writer.writeheader()
    for i in range(len(qs)):
        print(qs[i])
        state = getDataById(qs[i])
        print("状态 = " + state + "\n")
        writer.writerow({"asin":qs[i], "state": state})

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python的pandas工具包,保存.csv文件时不要表头的实例

    用pandas处理.csv文件时,有时我们希望保存的.csv文件没有表头,于是我去看了DataFrame.to_csv的document. 发现只需要再添加header=None这个参数就行了(默认是True), 下面贴上document: DataFrame.to_csv(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=Non

  • python 根据csv表头、列号读取数据的实现

    目录 根据csv表头.列号读取数据的实现 读取csv文件 根据表头获取列数据 根据列号读取列数据 根据index名获取行数据 根据列号读取行数据 iloc和loc区别 读取csv文件并输出特定列 源代码如下 根据csv表头.列号读取数据的实现 读取csv文件 cvs数据截图如下 设置index_col=0,目的是设置第一列name为index(索引),方便下面示例演示 data = pandas.read_csv(input1, index_col=0) 输出结果 price  o_price

  • python读csv文件时指定行为表头或无表头的方法

    pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置header参数(默认)时: df1 = pd.read_csv('target.csv',encoding='utf-8') df1 (2)header=1时: import pandas as pd df2 = pd.read_csv('target.csv',encoding='utf-8',header=1) df2 (3)header=-1时(可用

  • Python如何读取csv文件时添加表头/列名

    目录 读取csv文件时添加表头/列名 解决方法 更改csv文件表头 读取csv文件时添加表头/列名 有时,我们读取的csv文件数据时发现没有表头/列名,是因为Python读取csv文件数据本来就没有表头,用pandas.read读取时,则第一行自动会被识别为columns,从而给后面的分析造成不便,这时候需要我们在读取文件数据的同时添加列名. 解决方法 1.在读取文件数据之后再定义列名 df = pd.read_csv('评论.csv',header=None) df.columns = ["昵

  • python csv实时一条一条插入且表头不重复问题

    目录 csv实时一条条插入且表头不重复 连续写入txt csv写入时指定表头 练习 csv实时一条条插入且表头不重复 1.主要就是在最开始插入的时候判断下表头或者表格是否有数据 2.用csv reader(然后主要写是a追加模式,读是r模式) import csv with open("111.csv","a",encoding='utf-8',newline="") as f: k = csv.writer(f, dialect="e

  • Python实现实时显示进度条的6种方法

    目录 第1种:普通进度条 第2种:带时间的普通进度条 第3种:tqdm库 第4种: alive_progress库 第5种:PySimpleGUI库 第6种:progressbar库 相信大家对进度条一定不陌生了,比如在我们安装python库的时候可以看到下载的进度,此外在下载文件时也可以看到类似的进度条,比如下图这种: 应用场景:下载文件.任务计时等 今天辰哥就给大家分享Python的6种不同的实现实时显示处理进度的方式,文中每一种方式都附带一个案例,并提供官方文档,供大家学习,自定义去修改.

  • 用一条mysql语句插入多条数据

    假如有一个数据表A: id name title addtime 如果需要插入n条数据 : $time= time(); $data = array( array( 'name'=>'name1','title'=>'title1','addtime'=>$time; ), array( 'name'=>'name2','title'=>'title2','addtime'=>$time; ), array( 'name'=>'name3','title'=>

  • php使用APC实现实时上传进度条功能

    php不具备实时上传进度条功能,如果想有这种功能我们一般会使用ajax来实现,但是php提供了一个apc,它就可以与php配置实现上传进度条功能. 主要针对的是window上的应用. 1.服务器要支持apc扩展,没有此扩展的话,下载一个扩展扩展要求php.5.2以上. 2.配置apc相关配置,重启apache 代码如下 extension=php_apc.dll   apc.rfc1867 = on   apc.max_file_size = 1000M   upload_max_filesiz

  • Python实现控制台中的进度条功能代码

    进度条最主要的问题就是所有字符全部在同一行,而且可以修改. 然而当执行print语句的时候,python会在打印完这个语句的同时在结尾加上'\n',也就是换行,这就导致在控制台下一旦被print之后就无法再修改了.所以我们现在的输出就不能再使用print来完成了. 我们要使用的是来自sys库的sys.stdout.write()函数,这个函数会在控制台输出这个字符串的同时不加上任何结尾,这就意味着这个输出还没有完全结束.通过sys.stdout.flush()函数可以把输出暂时打印在控制台中(造

  • 详解Python中如何写控制台进度条的整理

    本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧.分享给大家供大家参考.具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果. 进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条? 最简单的办法就是,再输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可

  • Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例

    首先讲一下, 插入一条记录返回主键的 Mybatis 版本要求低点,而批量插入返回带主键的 需要升级到3.3.1版本,3.3.0之前的都不行. <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>3.3.1</version> </dependency> 1.MySQL <

  • 在python tkinter中Canvas实现进度条显示的方法

    如下所示: from tkinter import * import time #更新进度条函数 def change_schedule(now_schedule,all_schedule): canvas.coords(fill_rec, (5, 5, 6 + (now_schedule/all_schedule)*100, 25)) root.update() x.set(str(round(now_schedule/all_schedule*100,2)) + '%') if round(

  • python如何通过pyqt5实现进度条

    这篇文章主要介绍了python如何通过pyqt5实现进度条,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python太博大精深了,使用场景非常多.最近笔者一直使用PyQt5编一些小程序,顺便就把一些常用的东西列出来,做个记录和积累吧. 进度条是非常常用的东西,今天用的时候,顺便温习了一下,这个东西自己感觉没啥可讲的,最好的办法就是例子来说明:下面给一个简单的例子. 基本进度条使用: 进度条的函数如下: self.pbar = QProgres

  • Python 给下载文件显示进度条和下载时间的实现

    大家在下载文件时能够显示下载进度和时间非常好,其实实现它方法很简单,这里我写了个进度条的模块,其中还附带上了运行时间也就是下载时间了. 该模块调用了三个库: 1.os 2.requests 3.time 话不多说,先上代码!!!. # 进度条模块 def progressbar(url,path): if not os.path.exists(path): # 看是否有该文件夹,没有则创建文件夹 os.mkdir(path) start = time.time() #下载开始时间 respons

随机推荐