精华内容
下载资源
问答
  • Python保存数据到CSV文件

    千次阅读 2019-12-10 11:37:52
    利用字符串的形式将多行数据保存到CSV文件。 a = np.array([(1,2), (3,4), (5,6), (7,8)]) lines = "" for i in a: for j in a: dis = np.sqrt((np.sum(i-j)**2)) lines += "%.2f"%dis + ", " lines += "\n" ...

    利用字符串的形式将多行数据保存到CSV文件。

    a = np.array([(1,2), (3,4), (5,6), (7,8)])
    lines = ""
    for i in a:
    	for j in a:
    		dis = np.sqrt((np.sum(i-j)**2))
    		lines += "%.2f"%dis + ", "
    	lines += "\n"
    file = open("result.csv", mode='w', encoding='utf-8')
    file.write(lines)
    file.close()
    
    展开全文
  • 解决方案 In python 2.7 you can do as follows: import csv data = [[u'Neoplasms', u'Medical Subject Headings', u'direct', u'cancer', u'Neoplasms', u'Medical Subject Headings', u'Malignant Neoplasm', u'...

    1586010002-jmsa.png

    My data, that I've extracted from a webpage looks like below after using print statement.

    [[u'Neoplasms', u'Medical Subject Headings', u'direct', u'cancer', u'Neoplasms', u'Medical Subject Headings', u'Malignant Neoplasm', u'National Cancer Institute Thesaurus', u'direct', u'cancer', u'Malignant Neoplasm', u'National Cancer Institute Thesaurus']]

    I'd like to write it to a csv file like this, with each row containing six elements.

    Neoplasms, Medical Subject Headings, direct, cancer, Neoplasms, Medical Subject Headings

    Malignant Neoplasm, National Cancer Institute Thesaurus, direct, cancer, Malignant Neoplasm, National Cancer Institute Thesaurus

    Please suggest me how I can go about doing that.

    解决方案

    In python 2.7 you can do as follows:

    import csv

    data = [[u'Neoplasms', u'Medical Subject Headings', u'direct', u'cancer', u'Neoplasms', u'Medical Subject Headings', u'Malignant Neoplasm', u'National Cancer Institute Thesaurus', u'direct', u'cancer', u'Malignant Neoplasm', u'National Cancer Institute Thesaurus']]

    with open('out.csv', 'wb') as csvfile:

    csvwriter = csv.writer(csvfile)

    csvwriter.writerows(data)

    Update:

    To get six element chunks of the input data: one can use the following function from this anwser:

    def chunks(l, n):

    """ Yield successive n-sized chunks from l. """

    for i in xrange(0, len(l), n):

    yield l[i:i+n]

    Then to write the chunks, you can use:

    with open('out.csv', 'wb') as csvfile:

    csvwriter = csv.writer(csvfile)

    for a_chunk in chunks(data[0], 6):

    csvwriter.writerow(a_chunk)

    Please note, that it is not clear if the input data is a list of many lists, or only one list embedded in other. I assumed the later.

    展开全文
  • Python数据写入CSV文件

    万次阅读 多人点赞 2019-04-27 14:30:50
    python数据写入csv文件 1 介绍CSV 逗号分隔值(Comma-Separated Values,CSV,也称为字符分隔值,分隔字符也可以不是逗号)。 保存形式 其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该...

    python 将数据写入csv文件

    1 介绍CSV

    逗号分隔值(Comma-Separated Values,CSV,也称为字符分隔值分隔字符也可以不是逗号)。

    • 保存形式

    其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

    • 分隔符号

    CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号制表符

    • 打开方式

    通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

    2. Python代码

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    # 导入CSV安装包
    import csv
    
    # 1. 创建文件对象
    f = open('文件名.csv','w',encoding='utf-8')
    
    # 2. 基于文件对象构建 csv写入对象
    csv_writer = csv.writer(f)
    
    # 3. 构建列表头
    csv_writer.writerow(["姓名","年龄","性别"])
    
    # 4. 写入csv文件内容
    csv_writer.writerow(["l",'18','男'])
    csv_writer.writerow(["c",'20','男'])
    csv_writer.writerow(["w",'22','女'])
    
    # 5. 关闭文件
    f.close()
    

    3.运行结果

    本文介绍就直接使用文本打开,结果如下:
    在这里插入图片描述

    4 用Excel打开上述结果,发现出现空行问题

    4.1 Python2 解决

    将写入方式w 修改成wb

    f = open(‘文件名.csv’,‘wb’,encoding=‘utf-8’)

    4.2 Python3 解决

    Python2的解决方式也支持,同时也可以添加**newline=’’"**参数即可,如下所示:

    f = open(‘文件名.csv’,‘w’,encoding=‘utf-8’,newline=’’ ")

    综上:经过以上处理,空白行已取消。
    在这里插入图片描述

    以上内容仅是代表个人总结 若有错误之处,还请批评指正,欢迎大家一起学习!

    展开全文
  • 使用Python操作CSV文件非常方便,三行代码搞定。 一、向文件中追加数据 import csv # 将数据写入文件 with open("d:\\data.csv", "a", newline="") as cf: w = csv.writer(cf) w.writerow([1001, "北京"]) w....

    使用Python操作CSV文件非常方便,三行代码搞定。

    一、向文件中追加数据

    import csv
    
    # 将数据写入文件
    with open("d:\\data.csv", "a", newline="") as cf:
        w = csv.writer(cf)
        w.writerow([1001, "北京"])
        w.writerow([1002, "上海"])
        w.writerow([1003, "广州"])
        cf.close()

    结果:

     

    二、从文件中读取数据

    # 将数据从文件读出
    with open("d:\\data.csv", "r") as cf:
        d = csv.reader(cf)
        for row in d:
            print(row)

    结果:

     

    三、如果将代码多执行一次,就会变成这样:

     所以最好判断文件是否存在,如果存在则删除,代码如下:

    import csv
    import os
    
    # 判断文件是否存在
    if os.path.exists("d:\\data.csv"):
        os.remove("d:\\data.csv")
        
    # 将数据写入文件
    with open("d:\\data.csv", "a", newline="") as cf:
        w = csv.writer(cf)
        w.writerow([1001, "北京"])
        w.writerow([1002, "上海"])
        w.writerow([1003, "广州"])
        cf.close()
    
    # 将数据从文件读出
    with open("d:\\data.csv", "r") as cf:
        d = csv.reader(cf)
        for row in d:
            print(row)
    

    OK,现在已经学会CSV文件的操作了,将从网页爬到的动态数据保存到CSV文件完整代码如下:

    # 先安装selenium,再安装chromeDriver
    from selenium import webdriver
    from bs4 import BeautifulSoup
    import time
    import csv
    from Items import FuPanData
    import os
    
    def saveFuPan():
        try:
            browser = webdriver.Chrome()
            browser.get("https://xuangubao.cn/dingpan")
            page = browser.page_source
            soup = BeautifulSoup(page,"lxml")
    
            # 得到日期
            # today = soup.find("div", attrs={"class", "ban-chart-date-container"}).find_all("p")
            # print(today[0].get_text().strip(),today[1].get_text().strip(),"日")
            date = time.strftime('%Y-%m-%d',time.localtime(time.time()))
            print(date)
            # 查询涨跌数据
            spans = soup.find("div", attrs={"class":"ban-chart"}).find_all("span")
            up = spans[3].get_text().strip()
            down = spans[4].get_text().strip()
            limitUp = spans[6].get_text().strip()
            limitDown = spans[7].get_text().strip()
            bomb = spans[8].get_text().strip()
            print("涨:",up)
            print("跌:",down)
            print("涨停:",limitUp)
            print("跌停:",limitDown)
            print("炸板率:", bomb)
    
            # 创建每天复盘数据对象
            todayData = FuPanData(date, up, down,limitUp, limitDown, bomb, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    
    
            # 连板个股相关操作
            listCount = []  # 连板个数
            guList = soup.find("table", attrs={"class", "table hit-pool__table"}).find_all("tr")
    
            # 判断当天连板个股是否保存
            if os.path.exists("d:\\" + date + ".csv"):
                os.remove("d:\\" + date + ".csv")
    
            # 循环读取连板个股
            for gu in guList[1:]:
                tds = gu.find_all("td")
                guName = tds[1].find_all("span")[0].get_text().strip()
                guCode = tds[1].find_all("a")[0].get_text().strip()[-6:]
                # print(guName,"(",guCode,")",":",tds[12].get_text().strip())
                listCount.append(tds[12].get_text().strip())  # 将连接数据保存到list
                # 将个股保存到CSV文件
                if tds[12].get_text().strip()!="首板":
                    with open("d:\\"+date+".csv", "a", newline="") as apdFile:
                        w = csv.writer(apdFile)
                        w.writerow([guName,guCode,tds[12].get_text().strip()])
    
            # 显示不同连板的个数
            for i in set(listCount):
                print("{0}:{1}".format(i, listCount.count(i)))
                if i == "首板":
                    todayData.ban1 = listCount.count(i)
                elif i =="2连板":
                    todayData.ban2 = listCount.count(i)
                elif i =="3连板":
                    todayData.ban3 = listCount.count(i)
                elif i =="4连板":
                    todayData.ban4 = listCount.count(i)
                elif i =="5连板":
                    todayData.ban5 = listCount.count(i)
                elif i =="6连板":
                    todayData.ban6 = listCount.count(i)
                elif i =="7连板":
                    todayData.ban7 = listCount.count(i)
                elif i =="8连板":
                    todayData.ban8 = listCount.count(i)
                elif i =="9连板":
                    todayData.ban9 = listCount.count(i)
                elif i =="10连板":
                    todayData.ban10 = listCount.count(i)
                else:
                    todayData.ban10s = listCount.count(i)
    
    
            # 判断是否保存过数据 state为True表示已保存过
            with open("d:\\dapanData.csv", "r") as csvfile:
                line = csvfile.readlines()[-1]
                d = line.split(",")[0]
                state = False
                # 判断是否有历史数据,如果有历史数据,是否有今天的数据
                if(len(d.strip())>0):
                    state = int(date.split("-")[0])==int(d.split("/")[0]) and \
                            int(date.split("-")[1])==int(d.split("/")[1]) and \
                            int(date.split("-")[2])==int(d.split("/")[2])
                # 将数据保存到csv文件
                if not state:
                    dapanData = [todayData.date, todayData.up, todayData.down, todayData.limitUp, todayData.limitDown, todayData.bomb,
                                 todayData.ban1, todayData.ban2, todayData.ban3, todayData.ban4, todayData.ban5, todayData.ban6,
                                 todayData.ban7, todayData.ban8, todayData.ban9, todayData.ban10, todayData.ban10s]
                    # print(dapanData)
                    with open("d:\\dapanData.csv", "a", newline="") as apdFile:
                        w = csv.writer(apdFile)
                        w.writerow(dapanData)
        except Exception as e:
            print("出错了")
            print ("str(e):\t", str(e))
            browser.close()
        else:
            print("今天数据已保存")
            browser.close()
    
    
    if __name__ == "__main__":
        saveFuPan()

    结果如下:

       

    数据完美保存,谢谢大家的阅读,欢迎留言交流!

     

    展开全文
  • import csv class WriteCSV(): """定义成员变量""" def __init__(self): pass def init(self, info_list, info_dict_list): self.info_list = info_list self.info_dict_list = info_dict_list def ...
  • 数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中...下面这篇文章主要给大家介绍了关于利用Python如何将数据到CSV文件中的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
  • 主要介绍了Python如何把字典写入到CSV文件的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python list保存csv文件

    万次阅读 2018-11-15 20:42:44
    Python list保存到csv中 假如有一个python代码运行出来后,其结果是一个二维列表,例如: [[“路飞”,“男”,100],[“索隆”,“男”,99],[“娜美”,“女”,90]] 然后每个样本对应的标签是:姓名,性别,...
  • pythoncsv数据含有空值的进行行的删除,以及重复数据进行删除
  • python3中列表数据保存到csv文件

    千次阅读 2019-11-24 19:26:10
    python保存列表数据到csv文件,excel文件 python -V 3.7 分两种: 第一种保存好几个列表数据到csv的好几列 import csv li = [[1, 'cheng', 'A','True'], [2, 'wei', 'B','False'], [3, 'wang', 'C','False']] with...
  • 今天小编就为大家分享一篇python 读取.csv文件数据到数组(矩阵)的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 今天在学习csv文件写入数据的时候发现,中文编译不出来,都是乱码。老师给出的那个例子上都是英文,英文是不会乱码的,就跟中文杠上了。...# 写数据到csv文件中 import csv data = [ ['name', '...
  • PYTHON Pandas批量读取csv文件DATAFRAME 首先使用glob.glob获得文件路径。然后定义一个列表,读取文件后再使用concat合并读取数据。 #读取数据 import pandas as pd import numpy as np import glob,os path...
  • Python数据保存到CSV

    千次阅读 2018-01-23 17:04:00
    #coding:utf-8import csv headers = ['ID','UserName','Password','Age','Country'] rows = [(1001,'qiye','qiye_pass',24,'China'), (1002,'Mary','Mary_pass',20,"USA"), (1003,"Jack","Jack_pass",20...
  • 通过python数据存储到csv文件中

    千次阅读 2018-11-09 23:10:13
    import csv file = open(r’E:\test.csv’,‘w+’) #打开csv文件 writeIn = csv.writer(file) writeIn.writerow((‘id’,‘name’)) writeIn.writerow((‘one’,‘jamesxie’)) writeIn.writerow((‘two’,...
  • 第一种:使用csv模块,写入到csv格式文件 # -*- coding: utf-8 -*- import csv with open("my.csv", "a", newline='') as f: writer = csv.writer(f) writer.writerow(["URL", "predict", "score"]) row = [['1'...
  • Python数据存储之CSV数据的写入

    千次阅读 2020-03-28 20:38:37
    文章目录拖更通知重要前提编写程序用的工具写代码喽导入CSV库创建或打开文件将文件放入变量写入一行数据写入多行数据保存并关闭文件实例程序完美结束 拖更通知 以后作者的文章更新时间为周六日,敬请谅解!感谢各位...
  • 本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法。分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015...
  • 主要给大家介绍了关于python数据处理之如何选取csv文件中某几行的数据的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 一、保存csv文件 1.1np.savetxt()函数讲解 np.savetxt(frame, array, fmt='%.18e', delimiter=None) * frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件 * array : 存入文件的数组 * fmt : 写入文件的...
  • 利用python数据写入CSV文件中

    千次阅读 2021-01-06 10:14:59
    利用python数据写入CSV文件中 简单实现,代码如下: import csv # 1.创建文件对象 f = open('csv_file.csv', 'w', encoding='utf-8') # 2.基于文件对象构建csv写入对象 csv_write = csv.writer(f) # 3.构建...
  • file_path 为保存的路径,需要携带.csv后缀。 urt_8_sig 是一个编码,使用该编码后,不用在另存为txt转换utf-8格式,直接打开,不会乱码。 replace(’\x00’, ‘’) 是防止需要保存的字符出现不可识别乱码。 head 是...
  • (1)当数据为字符串类型时,实现代码如下: with open("Top250.txt...(2)如果数据不是字符串类型则将其用str()转化为字符串类型再保存! (3)当数据类型为二进制类型时需要在代码开头加入如下代码: import sys
  • 此处希望在python中,将A和B的QA对话,中错误的对话,保存到csv中。打算自己先创建一个csv文件,然后后续每个对话出错的话,就append追加写入到csv中。其中希望用逗号分隔。而句子中如果有逗号,则用双引号扩起来...
  • 目录一、选择数据源三、整体代码实现4、总结 同时推荐前面作者另外两个系列文章: 快速入门之Tableau系列:快速入门之Tableau 快速入门之爬虫系列:快速入门之爬虫 一、选择数据源 网址:...
  • data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.csv') 第二:如果存在日期格式数据,利用pandas.to_datatime()改变类型 data.iloc[:,1]=pd.to_datetime(data.iloc[:,1]) 注意:=号,这样在原始...
  • 今天小编就为大家分享一篇Python简单爬虫导出CSV文件的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 今天小编就为大家分享一篇python 借助numpy保存数据csv格式的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,495
精华内容 16,198
关键字:

python保存数据到csv

python 订阅