導航:首頁 > 編程語言 > pythoncsvdialect

pythoncsvdialect

發布時間:2022-07-27 05:32:34

⑴ 求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)

得到:

⑵ python 怎麼讀csv文件

CSV文件本質上就是文本文件,只不過每行的數據用逗號分隔。

所以你當成文本文件打開一行一行的讀然後拆分就可以了。

data=[]
withopen(r'd: empdemo.csv','r')ascsv_file:
forlineincsv_file:
data.append(line.strip().split(','))
print(data)

#另外Python標准庫里有個CSV模塊可以用。
importcsv
withopen(file_path,'rb')ascsv_file:
data=list(csv.reader(csv_file))[1:]#去掉首行的列名

還有就是可以用Pandas這個庫,dataframe有導入csv功能。

⑶ csv文件怎麼打開 使用Python讀取和寫入CSV文件

csv文件本質上是一個文本文件,具體的讀取和寫入方法有兩種:
直接對csv文件進行文件讀寫操作,每一行是一條記錄,按行讀取即可,簡單代碼如下:
with open("XXX.csv","wr") as f:
f.readline()
f.write()
2.使用第三方庫中的csv文件讀寫函數(本質上還是使用python的文件讀寫方法),如科學計算包pandas包中就有read_csv() to_csv()等函數,其他的一些第三方包里也有,可以自行查詢。
兩種方法各有優劣,第一種方法的優點就是可控性強,但是代碼相對較多,對於python2編碼處理很麻煩;第二種方法的優點是代碼量小,調用方便,處理編碼問題相對容易(在函數中加一個encoding參數即可),但是代碼內部比較復雜,可控性較差

⑷ python CSV 取值問題,新手,高分。

importcsv

Title=['Name','Age','Sex']
Name=['張三','李四','王二']
Age=['30','20','10']
Sex=['男','男','未知']
foriinrange(len(Title)):
list=[]
list.append(Name[i])
list.append(Age[i])
list.append(Sex[i])
print(list)#把這個寫入文件

我的版本是3.2的數據一直寫不進文件里,那我把list部分列印出來,你直接放在寫函數就可以了

⑸ Python中通過csv的writerow輸出的內容有多餘的空行

有可能是csv方言(dialect)的問題吧
csv方言參數中有一個 lineterminator,他的作用是定義csv結束一行的符號, 默認值是 '\r\n',如果有需要,可以嘗試修改
csv.register_dialect(lineterminator='\n',)

如果還是不行的話,有可能是你writerow的行前面多了換行符。

⑹ python中怎麼讀取csv文件

Python讀取CSV文件方法如下:
如下是一個CVS文件
使用Python打開CSV可以直接使用open函數打開,然後使用reader函數讀取內容,實現代碼如下:
運行結果如下:
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python中怎麼讀取csv文件的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

⑺ python怎麼將讀出來的文件放到列表

csv文件的讀取:

前期工作:在定義的py文件里邊創建一個excel文件,並另存為csv文件,放入三行數據,我這里是姓名+年齡(可以自己隨意寫)

首先我們要在python環境里導入csv板塊(測試小白的我喜歡用pycharm)


啦啦啦,開不開心,刺不刺激,純小白內容,謝謝大家的閱讀,歡迎留言交流,不要忘記我,我就是宇宙無敵的python小白白!

⑻ python怎麼列印csv文件中的內容

方法一:
import csv
f = open("C:\\Users\\windows10\\Desktop\\Python練習\\文本流\\raw循環合並.csv")
csv_reader = csv.reader(f,dialect='excel') # dialect='excel'為EXCEL編碼風格,否則無法讀取首行

for line in csv_reader:
print(line)123456

方法二:
import csv
f = open("C:\\Users\\windows10\\Desktop\\Python練習\\文本流\\raw循環合並.csv")
csv_reader = csv.reader(f) # 分割符號,默認,根據不同情況進行設置

data= []
for line in csv_reader:
data.append([x for x in line[:len(line)]]) #[x for x in line[:len(line)]]:形成一個行列表,對每行逐個字元串,進行追加; data.append():對添加一個行列表
print(data)

⑼ python中讀取csv文件

python中讀取csv方法有3種:
第一種,普通方法讀取(open函數打開,然後使用for循環讀取內容);
第二種,使用用CSV標准庫讀取;
第三種,用pandas模塊讀取。

⑽ python csv文件放到哪裡

使用Python的csv模塊
csv模塊中的函數
reader(csvfile, dialect='excel', **fmtparams)11

參數說明:
csvfile,必須是支持迭代(Iterator)的對象,可以是文件(file)對象或者列表(list)對象,如果是文件對
象,打開時需要加」b」標志參數。
dialect,編碼風格,默認為excel的風格,也就是用逗號(,)分隔,dialect方式也支持自定義,通過調用register_dialect方法來注冊,下文會提到。
fmtparam,格式化參數,用來覆蓋之前dialect對象指定的編碼風格。
載入文件代碼:
import csv
def loadCSVfile1():
list_file = []
with open('train.csv','rb') as csv_file:
all_lines=cvs.reader(csv_file)
for one_line in all_lines:
list_file.append(one_line)
list_file.remove(list_file[0])
arr_file = array(list_file)
label = arr_file[:, 0]
data = arr_file[:, 1:]
return data, label

載入csv核心部分還是

其中,『rb』中的r表示「讀」模式,因為是文件對象,所以加『b』。open()返回了一個文件對象
myFile,reader(myFile)只傳入了第一個參數,另外兩個參數採用預設值,即以excel風格讀入。reader()返回一個
reader對象all_lines,all_lines是一個list,當調用它的方法lines.next()時,會返回一個string。上面程序的效果是將csv
文件中的文本按行列印,每一行的元素都是以逗號分隔符』,』分隔得來。

閱讀全文

與pythoncsvdialect相關的資料

熱點內容
正宗溯源碼大燕條一克一般多少錢 瀏覽:915
電腦感染exe文件夾 瀏覽:914
wpsppt怎麼轉pdf格式 瀏覽:86
騰訊文檔在線編輯怎麼添加密碼 瀏覽:868
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:345
d盤php調用c盤的mysql 瀏覽:267