當前位置:首頁 » 編程語言 » pythonexcel轉csv

pythonexcel轉csv

發布時間: 2023-11-20 13:30:00

『壹』 求python大神指導,一個csv文件,把其中每一列的數據提取出來單獨保存為一個csv文件

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)

得到:
[{'No.': '1', 'Age': '18', 'Score': '99', 'Name': 'mayi'},
{'No.': '2', 'Age': '21', 'Score': '89', 'Name': 'jack'},
{'No.': '3', 'Age': '25', 'Score': '95', 'Name': 'tom'},
{'No.': '4', 'Age': '19', 'Score': '80', 'Name': 'rain'}]

如果我們想用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)

得到:

『貳』 1 如何用Python導入Excel以及csv數據集

Excel是一個二進制文件,它保存有關工作簿中所有工作表的信息

CSV代表Comma Separated Values 。這是一個純文本格式,用逗號分隔一系列值

Excel不僅可以存儲數據,還可以對數據進行操作

CSV文件只是一個文本文件,它存儲數據,但不包含格式,公式,宏等。它也被稱為平面文件

Excel是一個電子表格,將文件保存為自己的專有格式,即xls或xlsx

CSV是將表格信息保存為擴展名為.csv的分隔文本文件的格式

保存在excel中的文件不能被文本編輯器打開或編輯

CSV文件可以通過文本編輯器(如記事本)打開或編輯

excel中會有若干個表單,每個表單都會這些屬性: 

行數(nrows) 列數(ncols) 名稱(name) 索引(number) 

import xlrd //執行操作前需要導入xlrd庫 

#讀取文件 

excel = xlrd.open_workexcel("文件地址") //這里表格名稱為excel,文件的地址可以從文件的屬性中看到 

#讀取表格表單數量 

sheet_num= excel.nsheets // sheet_num為變數,其值為表格表單數量 

#讀取表格表單名稱 

sheet_name = excel.sheet_names() // sheet_name為變數,其值為表格表單名稱 

#如果想要看到上述兩個變數,可以使用print()函數將它們列印出來 

#想要讀取某個表單的數據,首先獲取表單 excel.sheet_by_index(0) 

//表單索引從0開始,獲取第一個表單對象 excel.sheet_by_name('xxx') 

// 獲取名為」xxx」的表單對象 excel.sheets() 

// 獲取所有的表單對象 獲取單元格的內容:使用cell_value 方法 這里有兩個參數:行號和列號,用來讀取指定的單元格內容。 

第一行的內容是:sheet.row_values(rowx=0) 

第一列的內容是:sheet.col_values(colx=0)

CSV是英文Comma Separate Values(逗號分隔值)的縮寫,文檔的內容是由 「,」 分隔的一列列的數據構成的。在python數據處理中也經常用到。

import csv //執行操作前需要導入csv庫 

#csv讀取 

遍歷其中數據 csv_file = csv.reader(open(『文件地址』,』r』)) for x in csv_file print(x)

『叄』 python生成csv文件一定要用vscode打開嗎

python生成csv文件一定要用vscode打開的,因為csv編輯的數據都是通過固定的數據格式進行生成的,只能用vscode軟體才能識別數據正常進行打開

『肆』 怎麼將Python的運行結果導出為csv格式

兄弟,python下面自帶了csv模塊,直接import調用就行了
將內存中的數據寫入到csv文件的話,直接open一個新文件,用csv下的writer方法就可以將數據寫入到csv本地文件

熱點內容
maven3編譯jdk6項目 發布:2024-10-07 03:19:57 瀏覽:43
緩存的視頻無法剪輯 發布:2024-10-07 03:19:40 瀏覽:88
解壓工具RAR 發布:2024-10-07 02:42:49 瀏覽:352
蘋果網盤解壓 發布:2024-10-07 02:42:49 瀏覽:159
為什麼安卓蘋果手游不互通 發布:2024-10-07 02:31:28 瀏覽:280
如何刪除手機中的游戲緩存 發布:2024-10-07 02:11:28 瀏覽:874
解鎖資料庫用戶 發布:2024-10-07 01:55:54 瀏覽:828
關系資料庫的關鍵字是指 發布:2024-10-07 01:55:54 瀏覽:518
java資料庫date 發布:2024-10-07 01:55:21 瀏覽:459
安卓12如何開通運用許可權 發布:2024-10-07 01:29:54 瀏覽:137