python對CSV檔案做行列變換輸出
一組實驗資料生成了幾十個csv檔案,每個檔案只有time和rtt兩個屬性兩列資料,貌似python的csv模組還不支援直接列讀取並操作,還是小蚯蚓,求大蟒蛇指教。。。,所以就通過一個函式,然後“列---->行---->列”實現數十個csv檔案合成一個檔案。初始資料檔案格式如下:
time | Chicago.rtt |
2.301214948 | 0.187789 |
4.414003087 | 0.300577 |
6.380719683 | 0.267294 |
8.751822975 | 0.638397 |
10.39387401 | 0.280448 |
12.22757191 | 0.114146 |
14.63398825 | 0.520562 |
16.45922407 | 0.345798 |
18.26771508 | 0.154289 |
20.48176423 | 0.368338 |
22.52504616 | 0.41162 |
24.22290325 | 0.109477 |
26.414002 | 0.300576 |
28.26130384 | 0.147878 |
30.23370582 | 0.12028 |
.
.
程式碼如下:
# -*- coding: cp936 -*- #Author:Bangwen Chen August 3.2013 #Description import os import csv def col_selector(table,column_key): return [row[column_key] for row in table]#在檔案生成的表中返回指定的列 path = '.'#對當前資料夾進行操作 for file in os.listdir(path):#遍歷資料夾 if file.endswith('csv'):#限定對當前資料夾中過的CSV檔案進行操作,排除.py檔案也處於這一資料夾帶來的影響 file_path=os.path.join(path,file) print file_path with open(file_path,'rb') as f: reader = csv.reader(f,delimiter=',')#以逗號問分隔符按列讀出資料 #for row in reader: # print row[1] table = [row for row in reader] key_col = col_selector(table,1)#指定不同的列取不同的變數,讀取第1列【從0列開始】 #print key_col output = open('out.csv','ab') writer = csv.writer(output) writer.writerow(key_col) output.close() with open('out.csv','rb') as f:#將列再變換成行。 reader1 = csv.reader(f,delimiter=',') table1 = [row for row in reader1] for var in range(0,149):#要粗糙的手動指出列數 col = col_selector(table1,var) outputdata = open('out_data.csv','ab') writer1 = csv.writer(outputdata) writer1.writerow(col ) outputdata.close() os.remove("out.csv") print "finish"
部分輸出檔案如下,把rtt全都取出來,然後就可以求max,min,mean..:
Chicago.rtt | Pittsburgh..rtt | Seattle.rtt | Boston.rtt | Albuqerque.rtt |
0.187789 | 0.472447 | 0.317792 | 0.835349 | 0.334478 |
0.300577 | 0.555146 | 0.0227494 | 0.510058 | 0.498709 |
0.267294 | 0.634138 | 0.329926 | 0.989946 | 0.663721 |
0.638397 | 0.644219 | 0.0637105 | 0.577627 | 0.0384286 |
0.280448 | 0.490288 | 0.344214 | 0.895311 | 0.628769 |
0.114146 | 0.8253 | 0.0985798 | 0.393868 | 0.025479 |
0.520562 | 0.204488 | 0.0275966 | 0.8717 | 0.210623 |
0.345798 | 0.679158 | 0.311394 | 0.579088 | 0.139049 |
0.154289 | 0.382447 | 0.582231 | 0.623237 | 0.319478 |
相關推薦
python對CSV檔案做行列變換輸出
一組實驗資料生成了幾十個csv檔案,每個檔案只有time和rtt兩個屬性兩列資料,貌似python的csv模組還不支援直接列讀取並操作,還是小蚯蚓,求大蟒蛇指教。。。,所以就通過一個函式,然後“列---->行---->列”實現數十個csv檔案合成一個檔案。初始資
Python對csv檔案讀寫操作
包括使用csv模組進行檔案讀寫,使用requests模組進行檔案傳送。 def pay_task_by_self(self): global success_writer, fail_writer, cont dir_path = os.path.dirname(_
python 對csv檔案操作
# scrapy pipline class BazaarPipeline(object): def open_spider(self, spider): self.filename = open("digital.csv", "wb") # 建立一
CSV檔案以及Python對CSV檔案的讀寫
一,什麼是CSV檔案 CSV(Comma-Separated Values,CSV)是逗號分隔符的簡稱,以純文字形式儲存表格資料(可以把純文字理解為字串)。 CSV檔案由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由欄位組成,欄位間的分隔符最常見的是逗號或製表符。
python 對csv檔案的列的內容讀取
以下程式碼測試在python2.7 mac上執行成功 import csv with open('/Users/wangzhao/Downloads/test.csv', 'U') as csvfile: reader = csv.DictReader(csvfi
Python csv檔案 追加行列
1.csv檔案追加行: #! /usr/bin/env python # -*- coding:utf-8 -*- import sys import csv import os input_path = r'D:\opsdailycheckfile\input_file
Python 對csv格式檔案的資料處理
# Edit By Python3.6 import os,csv,pandas as pd path = 'C:\\Users\\Desktop\\NBA' filepath = os.chdir(p
[轉載]Python-對Pcap檔案進行處理,獲取指定TCP流 https://www.cnblogs.com/sunpudding/p/9538889.html
https://www.cnblogs.com/sunpudding/p/9538889.html Python-對Pcap檔案進行處理,獲取指定TCP流 通過對TCP/IP協議的學習,本人寫了一個可以實現對PCAP檔
對csv檔案資料分組,並用pyecharts 展示。
在處理csv檔案時,會有些資料需要分組展示。比如以下檔案及統計效果: 為了避免重複勞動,把pandas 和 pyecharts 做了個結合。 # coding=UTF-8 from pyecharts import Bar,Scatter,Line from pyecharts
python爬蟲系列(4.2-python操作csv檔案)
一、關於csv檔案的介紹 CSV(Comma-Separated Values)即逗號分隔值,可以用Excel開啟檢視。由於是純文字,任何編輯器也都可開啟。與Excel檔案不同,CSV檔案中: 值沒有型別,所有值都是字串 不能指定字型顏色等樣式 不能指定單元格的寬高,不能合併單元格
python 處理CSV檔案
讀取 import csv with open('test.csv','r',encoding='utf8') as csvfile: reader = csv.reader(csvfile) for i in reader: print(i) 寫
Python 寫入CSV檔案
import csv #CSV檔案的讀寫,想和pandas庫一起湊一篇文章 with open('data.csv','a+') as csvfile: fieldnames=['id','name','age'] writer=csv.DictWriter(csvfile,fiel
Python匯入csv檔案生成統計圖片
從來沒有用過Python,以下是複製網上的程式碼,這個在linux環境下面可能會報錯 #coding=UTF-8 #匯入需要的模組 import numpy as np import matplotlib as mpl mpl.use('Agg') import matplotli
python訪問csv檔案
import csv # 讀取csv檔案方式1 csvFile = open("csvData.csv", "r") reader = csv.reader(csvFile) # 返回的是迭代型別 data = [] for item in r
Python對批量檔案進行VAD檢測和分段
準備: python2.7/3.+ webrtcvad import collections import contextlib import sys import wave import os import webrtcvad def read_wave(p
python關於csv檔案
今天我總結了python相關檔案的儲存,下面介紹這個較為常用的方法。 1.csv檔案的儲存與讀取 第一步:匯入csv模組,import csv 第二步:相關資料的梳理,例如:我把相關的資料用列表儲存下來,然後再進行儲存,例如我下面儲存的資訊: student_list = [] pr
利用Python實現csv檔案的合併和去重
方法一: 這種方法需要引入glob模組 glob模組是最簡單的模組之一,內容非常少。用它可以查詢符合特定規則的檔案路徑名。跟使用windows下的檔案搜尋差不多。查詢檔案只用到三個匹配符:”*”, “?”, “[]”。”*”匹配0個或多個字元;”?”匹配單個字元;”[]”匹配指定範圍內的
python向CSV檔案寫內容
f = open(r"D:\test.csv", 'w') f.write('1,2,3\n') f.write('4,5,6\n') f.close() 注意:上面例子中的123456這6個數字會分別寫入不同的單元格里,即以逗號作為分隔符將字串內容分開放到不同單元格 上面例子的圖:
python 從 CSV 檔案中刪除表頭
假設你有一個枯燥的任務,要刪除幾百 CSV 檔案的第一行。也許你會將它們送入一個自動化的過程,只需要資料,不需要每列頂部的表頭。可以在 Excel 中開啟每個檔案,刪除第一行,並重新儲存該檔案,但這需要幾個小時。讓我們寫一個程式來做這件事。該程式需要開啟當前工作目錄中所有副檔
python的csv檔案讀寫及避免出現空行的方法
使用列表生成csv >>> import csv >>> keys=['a','b','c','d'] >>> data=[[1,2,3,4],[5