1樓:雙魚糾結
和普通文
bai件一樣讀du取。csv中文zhi件資料dao項有逗號劃回分開答。
infile = open("data.csv", 'r')for line in infile:
data = line.rstrip().split(',')print(data)
2樓:匿名使用者
numpy.loadtxt()即可
python 讀取多個csv檔案中某一列,並生成一個新csv檔案
3樓:匿名使用者
csv檔案應該是用逗號分隔得才對,否則怎麼算作是csv檔案。樓主你開玩笑吧。否則你這只是一個普通的文字檔案。
如果是真正的csv檔案,我只說一點,python裡面有csv模組,專門處理csv檔案。如果是空格分割應該也可以,建議你,看一下python的csv模組的api,蠻簡單的**,其實如果不用的話自己寫也可以。不是很複雜。
**片段如下:
def deal_file(file_in, file_out)with open(file_in, 'r') as f_in:
with open(file_out, 'w') as f_out:
for line in f_in:
f_out.write(line.split(' ')[2] + '\n')
之後你可以將所有的輸入檔案放到一個列表裡面,進行迭代呼叫這個函式就可以了。
4樓:匿名使用者
參考方法如下:
逐行處理:
for line in open("samples/sample.csv"):
title, year, director = line.split(",") //以「,」號為分割,按逗號將資料分成三部分;
print year, title
使用csv模組處理:
import csv
reader = csv.reader(open("samples\sample.csv"))
for title, year, director in reader:
print year, title
改變分隔符;
如何用python讀取csv檔案,並把csv檔案的第3,4列形成一個列表在python 中顯示。如圖中的兩列資料 200
5樓:匿名使用者
import pandas as pd
df=pd.read(r'e:/aaaaa.csv')
df.iloc[:,2:4].values.tolist()
求python大神指導,一個csv檔案,把其中每一列的資料提取出來單獨儲存為一個csv檔案
6樓:天天不看
csv是comma-separated values的縮寫,是用文字檔案形式儲存的**資料,比如如下的**:
就可以儲存為csv檔案,檔案內容是:
no.,name,age,score
1,mayi,18,99
2,jack,21,89
3,tom,25,95
4,rain,19,80
假設上述csv檔案儲存為"test.csv"
1.讀檔案
如何用python像操作excel一樣提取其中的一列,即一個欄位,利用python自帶的csv模組,有兩種方法可以實現:
第一種方法使用reader函式,接收一個可迭代的物件(比如csv檔案),能返回一個生成器,就可以從其中解析出csv的內容:比如下面的**可以讀取csv的全部內容,以行為單位:
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#讀with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.reader(f)
rows = [row for row in reader]
print(rows)
得到:[['no.', 'name', 'age', 'score'],
['1', 'mayi', '18', '99'],
['2', 'jack', '21', '89'],
['3', 'tom', '25', '95'],
['4', 'rain', '19', '80']]
要提取其中某一列,可以用下面的**:
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#讀取第二列的內容
with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.reader(f)
column = [row[1] for row in reader]
print(column)
得到:['name', 'mayi', 'jack', 'tom', 'rain']
注意從csv讀出的都是str型別。這種方法要事先知道列的序號,比如name在第2列,而不能根據'name'這個標題查詢。這時可以採用第二種方法:
第二種方法是使用dictreader,和reader函式類似,接收一個可迭代的物件,能返回一個生成器,但是返回的每一個單元格都放在一個字典的值內,而這個字典的鍵則是這個單元格的標題(即列頭)。用下面的**可以看到dictreader的結構:
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#讀with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.dictreader(f)
column = [row for row in reader]
print(column)
得到:[,,,
]如果我們想用dictreader讀取csv的某一列,就可以用列的標題查詢:
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#讀取name列的內容
with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.dictreader(f)
column = [row['name'] for row in reader]
print(column)
得到:['mayi', 'jack', 'tom', 'rain']
2.寫檔案
讀檔案時,我們把csv檔案讀入列表中,寫檔案時會把列表中的元素寫入到csv檔案中。
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#寫:追加
row = ['5', 'hanmeimei', '23', '81']
out = open("test.csv", "a", newline = "")
csv_writer = csv.writer(out, dialect = "excel")
csv_writer.writerow(row)得到:
python對多個csv檔案裡提取指定列彙總到一個新生成的csv檔案
7樓:大漠鳳蕭蕭
csv 是可以直接當文字直接讀的,他的格式是一行由若干列逗號隔開的
和文字檔案一樣的讀到csv後,用逗號分隔列,然後將您需要的那一列寫到新的檔案裡就可以了
只提供思路,我就不寫**了,可能會用有 open split readline
8樓:
#!/usr/bin/env python
# coding: utf-8
import os
import re
def parserln(ln, patt):
"""用
給定的正規表示式解析行"""
matched = patt.match(ln)
if matched:
return matched.groupdict()
def getdata(filename, parser, callback=none):
"""用指定的解析方法parser解析指定檔案,
用callback進行資料加工過的資料列表
"""with open(filename, 'rt') as handle:
return map(
callback,
filter(none, map(parser, handle))
)def storage(filename, dataserial, spliter=','):
"""將資料序列按行儲存到指定檔案,
每一序列元素間用指定的字元分割"""
with open(filename, 'wt') as handle:
handle.writelines([
"%s\n" % (spliter.join(map(str, item)))
for item in dataserial
])if __name__ == "__main__":
patt = re.compile(
r"""^
(?p\d+),
(?p\d+),
(?p\d+)
\s*$""",
re.i | re.u | re.x)
datapath = 'datasource'
# datasource下所有存在"usage.csv"檔案的子目錄
subpaths = [
os.path.join(datapath, path)
for path in os.listdir(datapath)
if (os.path.isdir(os.path.join(datapath, path))
and os.path.exists(
os.path.join(datapath, path, "usage.txt")))]
storage(
'store.csv',
zip(*map(
lambda path: getdata(
os.path.join(path, "usage.csv"),
# 解析方法為用patt解析行
parser=lambda ln: parserln(ln, patt),
# 資料加工方法是取出"amount"轉成整數
python如何讀取csv指定內容所在行的第二列內容
先把 來資料轉化成源dataframe形式 import pandas as pd data pd.dataframe data,columns loc value 再把對應行的資料取出來 data value data loc 地區3 從執行效 bai率考慮du,zhi 用pandas庫比較好da...
python如何讀取csv某列XX行資料儲存為列表
list1 df df.columns 2 df.columns 0 list2 df df.columns 2 df.columns 1 python如何讀取csv指定內容所在行的第二列內容?先把 來資料轉化成源dataframe形式 import pandas as pd data pd.dat...
C中Dropdownlist如何讀取資料庫繫結並且聯動
圖書型別 計算機文學 書架 右a 1 右b 1 左a 1 左b 1 這是我的源 為什麼我的不是這樣 dropdownlist的屬性 autopostback 和這個沒有關係吧 把你後臺 拿出來看看 dropdownlist選擇項發生改變的事件裡新增函式,獲取當前選擇項的值 該值應為資料表中id 根據...