Python如何迴圈讀取csv或者excel中的一列資料

2021-04-25 08:55:48 字數 5933 閱讀 6552

1樓:雲南新華電腦學校

實測是可以從 a.csv複製

到版 b.csv中權

import csv

def foo():

with open('a.csv', 'r') as f:

reader = csv.dictreader(f)rows = [row for row in reader]if not rows:

return

with open('b.csv', mode='w', newline='', errors='ignore') as f2:

for index, row in enumerate(rows):

if index == 0:

f_csv = csv.dictwriter(f2, fieldnames=list(row.keys()))

f_csv.writeheader()

f_csv.writerow(row)

if __name__ == '__main__':

foo()

python怎麼把迴圈得到的結果按照列依次寫入到乙個csv檔案中

2樓:折柳成萌

我改bai了一下你

du的**,zhi實測是可

dao以從

版 a.csv複製到

權 b.csv中

import csv

def foo():

with open('a.csv', 'r') as f:

reader = csv.dictreader(f)rows = [row for row in reader]if not rows:

return

with open('b.csv', mode='w', newline='', errors='ignore') as f2:

for index, row in enumerate(rows):

if index == 0:

f_csv = csv.dictwriter(f2, fieldnames=list(row.keys()))

f_csv.writeheader()

f_csv.writerow(row)

if __name__ == '__main__':

foo()

python如何將乙個列表寫入到乙個excel表中的一列,求python**,謝啦!

3樓:小可號之重生

檔案儲存是按照每個子列表為一行的,所以在寫檔案時只需要將[10,'haha',0.1]換成[[10],['haha'],[0.1]]。

所回以只要將答mywrite.writerow(i)改為mywrite.writerow([i])。

import csv

def storfile(data,filename):

with open(filename,'w',newline ='') as f:

mywrite = csv.writer(f)for i in data:

mywrite.writerow([i])data = [10,'haha',0.1]storfile(data,"haha.csv")

python處理乙個csv資料,根據其中一列資料來得到新一列寫入同乙個檔案中?

4樓:匿名使用者

用pandas庫可以實現:

import pandas as pd

file = 'your_csv_path.csv'

data = pd.read_csv(file)data['sort'] = data['gender'].map(lambda x:

 1 if x == 'man' else -1)

data.to_csv(file, index=false)

python如何讀取csv某列xx行資料儲存為列表?

5樓:

list1 = df[[df.columns[2],df.columns[0]]]

list2 = df[[df.columns[2],df.columns[1]]]

python 讀取多個csv檔案中某一列,並生成乙個新csv檔案

6樓:匿名使用者

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')

之後你可以將所有的輸入檔案放到乙個列表裡面,進行迭代呼叫這個函式就可以了。

7樓:匿名使用者

參考方法如下:

逐行處理:

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**檔案進行操作?增加一列?提取每一行中的第二列?

8樓:匿名使用者

pip install pyexcel

讀取檔案

以後,在重新寫入檔案就可以了。

import pyexcel as pe

import pyexcel.ext.xls # import it to handle xls file

import pyexcel.ext.xlsx # import it to handle xlsx file

records = pe.get_records(file_name="your_file.xls")

for record in records:

print("%s is aged at %d" % (record['name'], record['age']))

求python大神指導,乙個csv檔案,把其中每一列的資料提取出來單獨儲存為乙個csv檔案

9樓:天天不看

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檔案

csv檔案應該是用逗號分隔得才對,否則怎麼算作是csv檔案。樓主你開玩笑吧。否則你這只是乙個普通的文字檔案。如果是真正的csv檔案,我只說一點,python裡面有csv模組,專門處理csv檔案。如果是空格分割應該也可以,建議你,看一下python的csv模組的api,蠻簡單的 其實如果不用的話自己寫...

如何用python讀取json裡面的值啊

1 首先需要在桌面新建 json.txt 檔案,內容為jsonline格式。2 開啟python開發工具idle,新建 json.py 檔案,並按照如圖回 所示答書寫 3 f5執行程式,shell列印出json文字資訊。4 這是一次性讀取所有內容,如果檔案很大的情況,出於效能考慮要分批讀取內容,這樣...

for迴圈的python指令碼程式中如何加入多程序 併發進

簡單的如下 from multiprocessing import process def ps i print str i def run for i in range 5 if name main run 什麼意思呢?如果你是在要在迴圈體內建立多程序,每迴圈一次便增加一個程序,那麼只需要把建立多...