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 什麼意思呢?如果你是在要在迴圈體內建立多程序,每迴圈一次便增加一個程序,那麼只需要把建立多...