pythonexcel轉csv
『壹』 求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本地文件