精华内容
下载资源
问答
  • python 逐行读取csv文件,修改内容后,逐行存入新的csv文件

     程序实现之前的csv内容



    第一种方法

    import glob
    import csv
    #在对应的文件夹下,读取csv文件
    csv_list = glob.glob('./14 points/*') #查看同文件夹下的csv文件数
    #每个类别一个label值
    label=[]
    #用来分配label值
    index=0
    #1.csv 为需要写入新数据的文件,a表示追加内容,不加newline='',会出现空行
    out = open('1.csv','a', newline='')
    csv_write=csv.writer(out)
    for i in csv_list:
        #打开./14 points/ 文件中的一个csv文件,
        csv_file = open(i)
        #读取csv_file文件中的内容
        csv_reader_lines = csv.reader(csv_file)
        for one_line in csv_reader_lines:
            #将类别index存入label[]
            label.append(index)
            #列表与列表相加,逐行写入
            csv_write.writerow(label+one_line)
            #列表弹出
            label.pop(0)
        #访问完一个类别的csv之后,index+1,
        index+=1

    程序实现之后的csv,文件




     附加:在每行的末尾添加内容


    import pandas as pd
    import os
    import csv
    inputfile_dir="motion_RAF"
    outputfile="motion_RAF.csv"
    
    i=0
    for inputfile in os.listdir(inputfile_dir):
        with open(inputfile_dir + '/' + inputfile) as csvfile:
            rows = csv.reader(csvfile)
            with open(outputfile, 'a+', newline='') as f:
                csv_write = csv.writer(f)
                for row in rows:
                    row.append(i)
                    csv_write.writerow(row)
        i=i+1
    DataFrame=pd.read_csv(outputfile)
    print(DataFrame)

     

    展开全文
  • 我有以下Python 2.7脚本:import urllib as ultracking_id = "abcde=="encodedtrackingid = ul.quote(tracking_id)mcid = "123456"URL = ...

    我有以下Python 2.7脚本:import urllib as ul

    tracking_id = "abcde=="

    encodedtrackingid = ul.quote(tracking_id)

    mcid = "123456"

    URL = "https://example.com/id?abcd&d_mid="+mcid+"&=124"+encodedtrackingid+"%011"

    print URL

    from mechanize import Browser

    br = Browser()

    br.set_handle_robots(False)

    response = br.open(URL)

    print response.read()

    import requests

    url = "https://example.net/rest/v1/mbox/4513452615415"

    querystring = {"client":"example"}

    payload = "{\r\n \"mbox\" : \"example\",\r\n\"CloudVisitorId\":\""+mcid+"\",\r\n \"thirdPartyId\": \""+tracking_id+"\",\r\n \"contentAsJson\": \"true\",\r\n \"mboxParameters\": \r\n { \r\n \"mboxMCGLH\": \"6\" \r\n }\r\n}\r\n"

    headers = {

    'content-type': "application/json",

    'cache-control': "no-cache",

    'postman-token': "289879f645d-1543-e6df-87fb-1cef88f55110c5"

    }

    response = requests.request("POST", url, data=payload, headers=headers, params=querystring)

    print(response.text)

    我想做的是:

    a)通过更新CSV文件中的tracking_id和mcid变量来重复此脚本。在

    CSV文件没有标题,包含以下列:

    列:A-跟踪_id

    列:B-mcid

    我需要脚本来读取CSV文件运行第1行的脚本,然后对第2行、第3行、第4行等重复相同的过程。每次脚本运行跟踪_id和mcid变量时,都会更新响应变量的输出,并将响应变量的输出存储到CSV文件中。在

    最终结果将是一个CSV文件,其中包含以下内容:

    A列-跟踪标识

    B列-mcid

    C列-响应

    任何帮助都是非常感谢的。在

    谢谢

    展开全文
  • 前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式(比如 csv、JSON)的数据,这些数据可能有部分是损坏的,因此程序需要对这些...Python 提供了 csv 模块来...

    前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式(比如 csv、JSON)的数据,这些数据可能有部分是损坏的,因此程序需要对这些数据进行处理。

    csv 文件格式的本质是一种以文本存储的表格数据(使用 Excel 工具即可读写 csv 文件)。csv 文件的每行代表一行数据,每行数据中每个单元格内的数据以逗号隔开。

    Python 提供了 csv 模块来读写 csv 文件。由于 csv 文件的格式本身比较简单(通常第一行是表头,用于说明每列数据的含义,接下来每行代表一行数据),因此使用 csv 模块读取 csv 文件也非常简单:

    创建 csv 模块的读取器。

    循环调用 csv 读取器的 next() 方法逐行读取 csv 文件内容即可。next() 方法返回一个 list 列表代表一行数据,list 列表的每个元素代表一个单元格数据。

    本节使用的是 2017 年广州天气数据的 csv 文件(数据来源于 http://lishi.tianqi.com/ 网站。下面程序示范了使用 csv 读取器来读取 csv 文件的两行内容。

    import csv filename = 'guangzhou-2017.csv' # 打开文件 with open(filename) as f: # 创建cvs文件读取器 reader = csv.reader(f) # 读取第一行,这行是表头数据。 header_row = next(reader) print(header_row) # 读取第二行,这行是真正的数据。 first_row = next(reader) print(first_row)

    上面程序中第 7 行代码创建了 CSV 读取器,第 9 行、第 12 行代码各读取文件的一行,其中第 7 行代码会返回 csv 文件的表头数据;第 9 行代码会返回真正的数据。

    运行上面程序,可以看到如下输出结果:

    ['Date', 'Max TemperatureC', 'Min TemperatureC', 'Description', 'WindDir', 'WindForce'] ['2017-1-1', '24', '13', '晴', '西南风', '1级']

    从上面的输出结果可以看到,该文件的每行包含 6 个数据,分别是日期、最高温度、最低温度、天气情况、风向、风力。

    掌握了 csv 读取器的用法之后,下面程序将会使用 Matplotlib 来展示 2017 年 7 月广州的最高气温和最低气温。

    import csv from datetime import datetime from matplotlib import pyplot as plt filename = 'guangzhou-2017.csv' # 打开文件 with open(filename) as f: # 创建cvs文件读取器 reader = csv.reader(f) # 读取第一行,这行是表头数据。 header_row = next(reader) print(header_row) # 定义读取起始日期 start_date = datetime(2017, 6, 30) # 定义结束日期 end_date = datetime(2017, 8, 1) # 定义3个list列表作为展示的数据 dates, highs, lows = [], [], [] for row in reader: # 将第一列的值格式化为日期 d = datetime.strptime(row[0], '%Y-%m-%d') # 只展示2017年7月的数据 if start_date < d < end_date: dates.append(d) highs.append(int(row[1])) lows.append(int(row[2])) # 配置图形 fig = plt.figure(dpi=128, figsize=(12, 9)) # 绘制最高气温的折线 plt.plot(dates, highs, c='red', label='最高气温', alpha=0.5, linewidth = 2.0, linestyle = '-', marker='v') # 再绘制一条折线 plt.plot(dates, lows, c='blue', label='最低气温', alpha=0.5, linewidth = 3.0, linestyle = '-.', marker='o') # 为两个数据的绘图区域填充颜色 plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1) # 设置标题 plt.title("广州2017年7月最高气温和最低气温") # 为两条坐标轴设置名称 plt.xlabel("日期") # 该方法绘制斜着的日期标签 fig.autofmt_xdate() plt.ylabel("气温(℃)") # 显示图例 plt.legend() ax = plt.gca() # 设置右边坐标轴线的颜色(设置为none表示不显示) ax.spines['right'].set_color('none') # 设置顶部坐标轴线的颜色(设置为none表示不显示) ax.spines['top'].set_color('none') plt.show()

    上面程序的前半部分代码用于从 csv 文件中读取 2017 年 7 月广州的气温数据,程序分别使用了 dates、highs 和 lows 三个 list 列表来保存日期、最高气温、最低气温。

    程序的后半部分代码绘制了两条折线来显示最高气温和最低气温,其中第 31 行代码用于绘制最高气温,第 34 行代码用于绘制最低气温;第 37 行代码控制在两条折线之间填充颜色。程序也对坐标轴、图例进行了简单的设置。

    运行上面程序,可以看到如图 1 所示的折线图。

    7-1561110657.gif

    图 1 2017 年7 月广州的气温折线图

    程序也可以使用 Pygal 来统计 2017 年广州的天气汇总情况,比如统计出阴天、晴天、多云天和雨天各占多少天。程序会使用 csv 读取器读取 2017 年广州阴天、晴天、多云天和雨天共有多少天,然后将这些数据添加到 pygal.Pie 对象中即可绘制饼图。该程序的代码如下:

    import csv import pygal filename = 'guangzhou-2017.csv' # 打开文件 with open(filename) as f: # 创建cvs文件读取器 reader = csv.reader(f) # 读取第一行,这行是表头数据。 header_row = next(reader) print(header_row) # 准备展示的数据 shades, sunnys, cloudys, rainys = 0, 0, 0, 0 for row in reader: if '阴' in row[3]: shades += 1 elif '晴' in row[3]: sunnys += 1 elif '云' in row[3]: cloudys += 1 elif '雨' in row[3]: rainys += 1 else: print(rows[3]) # 创建pygal.Pie对象(饼图) pie = pygal.Pie() # 为饼图添加数据 pie.add("阴", shades) pie.add("晴", sunnys) pie.add("多云", cloudys) pie.add("雨", rainys) pie.title = '2017年广州天气汇总' # 设置将图例放在底部 pie.legend_at_bottom = True # 指定将数据图输出到SVG文件中 pie.render_to_file('guangzhou_weather.svg')

    上面程序的前半部分代码也是用于从 csv 文件中读取 2017 年广州的天气数据,该程序只读取 csv 文件的数据行的第四列数据(天气描述),并使用 shades、sunnys、cloudys、rainys 分别保存阴天、晴天、多云天和雨天的数据。

    上面程序中建了一个 pygal.Pie 对象,该对象就表示一个饼图。接下来向 pygal.Pie 对象添加数据。运行上面程序,可以生成如图 2 所示的饼图。

    4-1561110657.gif

    图 2 统计2017 年广州天气情况的饼图

    展开全文
  • soup = BeautifulSoup(page) soup = soup.get_text() text=str(soup) 文本内容如下: april,2,5,7 may,3,5,8 june,4,7,3 july,5,6,9 如何将这些数据保存到CSV文件中。我知道我可以按照以下步骤做一些事情,逐行进行...

    我有通过http请求访问的数据,并由服务器以逗号分隔的格式发送回了数据,我有以下代码:

    site= 'www.example.com'

    hdr = {'User-Agent': 'Mozilla/5.0'}

    req = urllib2.Request(site,headers=hdr)

    page = urllib2.urlopen(req)

    soup = BeautifulSoup(page)

    soup = soup.get_text()

    text=str(soup)

    文本内容如下:

    april,2,5,7

    may,3,5,8

    june,4,7,3

    july,5,6,9

    如何将这些数据保存到CSV文件中。我知道我可以按照以下步骤做一些事情,逐行进行迭代:

    import StringIO

    s = StringIO.StringIO(text)

    for line in s:

    但是我不确定现在如何正确地将每一行写入CSV

    编辑--->感谢您所提供的反馈,该解决方案非常简单,可以在下面看到。

    解:

    import StringIO

    s = StringIO.StringIO(text)

    with open('fileName.csv', 'w') as f:

    for line in s:

    f.write(line)

    展开全文
  • I have this quite big CSV file (15 Gb) and I need to read about 1 million random lines from it.As far as I can see - and implement - the CSV utility in Python only allows to iterate sequentially in th...
  • I have this quite big CSV file (15 Gb) and I need to read about 1 million random lines from it.As far as I can see - and implement - the CSV utility in Python only allows to iterate sequentially in th...
  • 您只读取文件的第一行:line=myfile.readline()。您需要迭代文件中的每一行。一种方法是with open(fileName,'r') as myfile:for line in myfile:# the rest of your code here, i.e.:stop_words=set(stopwords.words...
  • 根据DWin的评论,您可以尝试这样的事情: read.clump (file, lines, clump){ if(clump > 1){ header <- read.csv(file, nrows=1, header=FALSE) p = read.csv(file, skip = lines*(clump-1), #p = read.csv(file, ...
  • 假设一份csv文件内容如下: #方法原型 csv.reader(csvfile, dialect='excel', **fmtparams) #例子说明 import csv with open('test.csv', 'r', newline='', encoding='utf-8') as f: data =csv.reader(f) for da in ...
  • 原文:为了参数化csv文件中的数据,需要做到两点:一是逐行读取:用到列表二是根据列名获取对应单元格的值:用到字典 import csv bid_info = csv.DictReader(open('bid_info.csv','r')) dict_data = [] for lines ...
  • import csv csv_file=open('D:/scores.csv') csv_reader_lines = csv.reader(csv_file) date=[] for one_line in csv_reader_lines: date.append(one_line)
  • # -*- coding: utf-8 -*-#python 27#xiaodeng#CSV文件的写入(按行写入)import csv#csv文件,是一种常用的文本格式,用以存储表格数据,很多程序在处理数据时会遇到csv格式文件#csv文件的写入(按行写入)def ...
  • 读txtfile_obj=open("1.txt","rb")#mode=r/wtxt=file_obj.read()//一次全部读取,基本能covertxt=file_obj.readline()//逐行读取,带有/R/Ntxt=file_obj.readline()//逐行读取下一行,带有/R/Ntxt=file_obj....
  • 下面给出读写此类文件的代码:读文件: global trainIdDicttrainIdDict = {}global lineCountlineCount = 0import csvcsvfile = file('train_set.csv', 'rb')reader = csv.reader(csvfile)for line in reader...
  • Python逐行读取大文本文件,而不将其加载到内存中我需要逐行读取一个大文件。 让我们说文件超过5GB,我需要读取每一行,但显然我不想使用tail,因为它会在内存中创建一个非常大的列表。以下代码如何适用于此案例?...
  • 1、使用csv包 import csv with open('personal GDP.csv...2、使用文件中的readline() cs=[] with open('personal GDP.csv', 'r',encoding='utf-8')as f: cs.append(f.readline().split(',')) while f.readline():
  • 原博文2020-05-14 13:17 −import csv rows2 = ['abc1/ab1c','N']for n in range(10): f = open("ok.csv", 'a',newline='') writer = csv.writer(f) writer.writerow(rows2) f.cl...02349相关推荐2019-12-18 14:42 ...
  • python 实现一次性在文件中写入多行的方法将要写入的内容 构造 进一个list 中,使用writelines()方法 一次性写入。file_w.writelines(list)file_w.flush()file.close()以上这篇python 实现一次性在文件中写入多行...
  • CSV(Comma-Separated Values)即逗号...如果CSV中有中文,应以utf-8编码读写,如果要支持Excel查看,应是要用utf-8 with bom格式及utf-8-sigPython3操作CSV文件使用自带的csv包reader=csv.reader(f, delimiter=','...
  • 前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式(比如 csv、JSON)的数据,这些数据可能有部分是损坏的,因此程序需要对这些...Python 提供了 csv 模块来...
  • 使用read_json函数,Pandas可以读取JSON文件。输入数据通过将以下数据复制到文本编辑器(如记事本)来创建JSON文件。选择文件类型作为所有文件(.),使用input.json。{"ID":["1","2","3","4","5","6","7","8" ],"Name...
  • 使用python逐行打印.csv文件中的数据

    千次阅读 2019-02-28 00:31:15
    发现python逐行打印数据集的时候,发现仅仅只能打印第一行的数据,下面一行怎么都打印不了。 OK 现在分享一下解决方案。 原始数据集的形式是: 这样读取的时候 只能打印打印第一行的数据, 如果想打印下一行...
  • Python:使用 csv 模块读写 csv 文件 二、创建数据库链接 # -*- coding: utf-8 -*- import sqlalchemy import sqlalchemy.orm as orm from sqlalchemy.ext.declarative import declarative_base Base = ...
  • 1.第一种方法,使用csv库,打开csv文件,然后逐行读取文件内容 import csv filename = 'abc.csv' with open(filename) as f: reader = csv.reader(f) header_row = next(reader) highs = [] for row in ...
  • 1. CSV格式 csv 文件格式的本质是一种以文本存储的表格数据(使用 Excel 工具即可读写 csv 文件)。csv 文件的每行代表一行数据,每行数据中每个单元格内的数据...循环调用 csv 读取器的 next() 方法逐行读取 csv 文.
  • 通常,数据以列为变量的形式呈现,但是,例如,我在.txt文件中有类似的东西Data1,1,2,3,4,5Data2,3,1,4我可以使用pandas这样的方式构建数据框,就像我从中获得的一样d = {"Data1":[1,2,3,4,5], "Data2": [3,1,4,1,2]}df =...
  • 我有一个非常大的csv文件,我无法在内存中完整加载.所以我想逐个阅读,将其转换为numpy数组,然后再进行一些处理.但问题是它是一个普通的读者,我无法在csvReader中找到任何指定大小的选项.此外,因为我想将行转换为numpy...
  • CSV(Comma-Separated Values)即逗号...如果CSV中有中文,应以utf-8编码读写,如果要支持Excel查看,应是要用utf-8 with bom格式及utf-8-sigPython3操作CSV文件使用自带的csv包reader=csv.reader(f, delimiter=','...
  • # 本人新手,第一次接触spark。 ## 希望大哥们可以提供下代码让我学习一下。非常感谢。 ``` import pyspark sc = pyspark.SparkContext() ...## 逐行读取df的数据。一秒读一条。希望会的大哥指导一下。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,180
精华内容 872
关键字:

python逐行读取csv文件

python 订阅