python保存csv
你可以這樣做:
import os
#獲取當前文件夾,也就是當前py文件所處的文件夾
current_path = os.getcwd()
#結合文件夾
path = current_path+"\\data\\file1\\file2\\"
csvfile = file(path+"twse_com_tw.zho_CHN.UTF8.csv", 'wb')
『貳』 python怎麼樣把學生信息管理系統的信息保存到csv中
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 導入CSV安裝包
import csv
# 1. 創建文件對象
f = open('D:/AAA.csv','w',encoding='utf-8',newline="")
# 2. 基於文件對象構建 csv寫入對象
csv_writer = csv.writer(f)
# 3. 構建列表頭
csv_writer.writerow(["姓名","年齡","性別"])
# 4. 寫入csv文件內容
csv_writer.writerow(["l",'18','男'])
csv_writer.writerow(["c",'20','男'])
csv_writer.writerow(["w",'22','女'])
# 5. 關閉文件
f.close()
#——————————---------------------------------------------------------------------
#版權聲明:本文為CSDN博主「十八水」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
#原文鏈接:https://blog.csdn.net/lbj1260200629/article/details/89600055
#---------------------------------------------------------------------------------------------
『叄』 求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 轉換excel為csv
1、打開你需要轉換的Excel表格。這里特別介紹一下多個數字的現象,我們知道,像身份證這些多位數字,在正常表格里都是會加上一個『來使其顯示的,或者換成「文本」模式的單元格形式:這里分別以文本形式以及加『的數字形式,為大家講解轉換成CSV格式後的效果差別。
2、先看以文本形式保存的表格轉換:
2.1然後,就可以點擊左上角的office按鈕,選擇「另存為」里的「其他格式」:
2.2然後在另存為的「保存類型」里選擇「CSV(逗號分隔)(*.csv)」這個選項:
2.3然後會有一個提示,點擊確定:
2.4然後再有一個提示,點擊「是」:
2.5然後當你退出並打開保存的CSV格式文件時,發現18位的數據最後三位是0:
3、但是,當你把CSV文件直接修改後綴轉換成txt文件時,發現數據又是正常的。
4、所以你可以轉換為txt來保存,直接CSV上傳可能會有問題,但是可以使用下面這個方法,就會完全顯示數據了。
5、看到上面第一步的那裡,數據是以『形式保存的,然後後面的另存為方法一樣進行,這樣子最後保存的CSV文件就還是有全部的顯示數據了:
6、而且這樣子再直接轉換成txt文本的數據也是正常的,只是都多了個『號就是。如果數據不是太麻煩的,那麼直接看另存為的方法就可以了,不用看上面對於長數據的解釋說明。
『伍』 python爬蟲怎麼把csv文件保存到指定路徑
用控制台還真沒試過,如果是用腳本來保存的話就是在open那裡給定文件的絕對路徑就可以了。如果是沒用with的話,要記得把文件close掉,不然會佔用系統資源的。
with open(" xxx/xxx/xxx. csv","w"):
要輸入的內容
『陸』 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的文件存儲用哪個標准模塊
Python的模塊文件放在以下地方:默認的在安裝文件的Libsite-packages路徑下面;如果想自己控制這些模塊的話,可以放在任何地方,然後把這個路徑設置為環境變數即可。
小數據存儲
我們在編寫代碼的時候,經常會涉及到數據存儲的情況,如果是爬蟲得到的大數據,我們會選擇使用資料庫,或者excel存儲。但如果只是一些小數據,或者說關聯性較強且存在存儲後復用的數據,我們該如何存儲呢?
使用open保存文本
最簡單、粗暴+無腦的存儲方式就是保存成一個文本文檔了。
使用open函數,將結果一行行的保存成文本,這里涉及的知識點只有簡單的幾條:
文件讀寫模式,r 、w、a、b、+ ,掌握這幾種即可。
使用單獨的open打開文件時,需要注意結尾時的調用close()函數關閉文檔
推薦使用上下文管理器的with open操作
csv文件
之所以將csv與excel分開說,首先需要掃盲下,csv屬於特定格式的文本文件(使用逗號分隔),而excel是二進制文件。
csv可以直接使用文本編輯器打開,excel不行…
其實csv文件,完全可以使用open函數進行保存,只要你將每行數據都使用,分隔開即可。
另外,python自帶csv庫,可以很方便的操作與保存該數據
xml文件
xml文件的方式,已經逐漸被淘汰了,為什麼這么說?因為它繁瑣的樹形結構,導致了在傳輸過程中,佔用了更多的內存。所以,除非必要,真的不推薦以xml的形式存儲你的數據…
『捌』 怎麼將Python的運行結果導出為csv格式
兄弟,python下面自帶了csv模塊,直接import調用就行了
將內存中的數據寫入到csv文件的話,直接open一個新文件,用csv下的writer方法就可以將數據寫入到csv本地文件
『玖』 python怎麼樣把學生信息管理系統的信息保存到csv中
import csv
# 1. 創建文件對象
filename = 'D:/AAA.csv'
f = open(filename,'w',encoding='utf-8',newline="")
# 2. 構建 csv寫入對象
csv_writer = csv.writer(f)
# 3. 寫入文件頭
csv_writer.writerow(["姓名","年齡","性別"])
# 4. 寫入csv文件內容
csv_writer.writerow(["張三",'15','男'])
csv_writer.writerow(["李四",'14','男'])
csv_writer.writerow(["王五",'15','女'])
# 5. 關閉文件
f.close()
print(f"File {filename} was created.")
『拾』 python中如何保存文件
1>保存為二進制文件,pkl格式
import pickle
pickle.mp(data,open('file_path','wb')) #後綴.pkl可加可不加
若文件過大
pickle.mp(data,open('file_path', 'wb'),protocol=4)
讀取該文件:
data= pickle.load(open('file_path','rb'))
2>保存為二進制文件,npz格式
import numpy as np
np.savez('file_path/file_name.npz', data1=X,data2=y)
讀取該文件:
with np.load('file_path/file_name.npz') as data:
X = data['data1']
y= data['data2']
3>DataFrame文件保存為.csv
dataframe_file.to_csv("file_path/file_name.csv", index=False)
讀取該文件:
import pandas as pd
df = pd.read_csv('file_path/file_name.csv')