python寫入csv中文
『壹』 python 寫 csv 中文怎麼處理
csv中文用gbk encode下,在window下就不會是亂碼了
『貳』 利用Python如何將數據寫到CSV文件中
如果你的數據是列表格式,可以使用一個迭代器,將數據寫入文件,同時添加必要的分隔符以構成csv文件
如果數據是字典格式,需要考慮使用換行符或者其他特殊符號來分割每個字典元素(包括鍵和值)。鍵和值可以考慮使用和之前不重復的分隔符進行分割。
這樣就構成了一個csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用讀寫追加的方式打開csv文件。
2,找到csv文件的結尾。
3,在結尾使用和之前csv使用的分割相同的格式進行數據添加。
4,關閉文件
『叄』 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文件
import pandas as pd#任意的多組列表a = [1,2,3]
b = [4,5,6]
#字典中的key值即為csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#將DataFrame存儲為csv,index表示是否顯示行名,default=Truedataframe.to_csv("test.csv",index=False,sep='')1234567891011
a_name b_name0 1 41 2 52 3 61234
同樣pandas也提供簡單的讀csv方法
import pandas as pddata = pd.read_csv('test.csv')12
會得到一個DataFrame類型的data,不熟悉處理方法可以參考pandas十分鍾入門
另一種方法用csv包,一行一行寫入
import csv
#python2可以用file替代open
with open("test.csv","w") as csvfile:
writer = csv.writer(csvfile)
#先寫入columns_name
writer.writerow(["index","a_name","b_name"])
#寫入多行用writerows
writer.writerows([[0,1,3],[1,2,3],[2,3,4]])12345678910
index a_name b_name0 1 31 2 32 3 41234
讀取csv文件用reader
import csvwith open("test.csv","r") as csvfile:
reader = csv.reader(csvfile) #這里不需要readlines
for line in reader:
print line
『伍』 python3中使用使用read_csv( )讀取csv文件,文件路徑中含有中文,怎麼處理
最頂上這樣寫:
#!/usr/bin/env python
# coding: utf-8還有文件名的引號前加u
『陸』 如何用python的pandas包的to_csv方法將中文輸出到csv文件中
文本內容如下:
12-06 14:50:23.600: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +125ms
12-06 14:50:52.581: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +126ms
12-06 14:51:21.391: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +108ms
12-06 14:51:50.652: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +121ms
想使用python截取每一行中的特定數據,然後把它們寫入到csv文件中!
想截取每一行中的3段字元串 「numberlocation」 「NumberLocationActivity」 「125」
在CSV中看到的期待結果是(一行輸出3段字元串):
numberlocation NumberLocationActivity 125
『柒』 python中用pandas.read_csv讀取含有中文的文件
python2下:
1234
# -*- coding: utf-8 -*- import pandas as pdmydata = pd.read_csv(u"例子.csv") #前面加u,第一行的編碼必須utf-8
原本以為這一點python3和python2是一樣的,其實不一樣!
python3下:
1234567
# -*- coding: utf-8 -*- import pandas as pd#以下三種等價(也有可能不等),如果你一種不行換另一種吧mydata = pd.read_csv(u"例子.csv",encoding = "gbk")mydata = pd.read_csv(u"例子.csv",encoding = "gb2312") mydata = pd.read_csv(u"例子.csv",encoding = "gb18030")
『捌』 如何用python將九九乘法表寫入csv文件中
方法/步驟
首先創建一個csv_scripts.py文件來保存我們的腳本,如下面圖中所示:
『玖』 python讀取csv文件時,數據內容含有中文,讀取出錯,怎麼辦
估計是亂碼造成,需要在讀取的py文件中指定編碼格式:
在文件開頭,設置成gbk格式import os,sys,re,csv
reload(sys)
sys.setdefaultencoding('gbk')
『拾』 如何用python 讀寫 csv
csv文件就是按逗號分隔的文本, 可以用python自帶的讀取文本的方式, 不過我推薦用pandas包, 讀寫都很方便
#coding=utf-8
#傳統方式
#讀
f1=open('1.csv','r').readlines()
result=map(lambdax:x.strip().split(','),f)
#寫
f2=open('1.csv','w')
f2.write('whatyouwanttowrite')
#pandas方法
importpandasaspd
#讀
result=pd.read_csv('1.csv')#result被轉化為DataFrame對象
#寫
#寫的時候可以操作result這個DataFrame對象,類似excel的表格,十分方便
result[0,0]=1
result.to_csv('2.csv')#將修改後的DataFrame保存為一個新的csv或者你想替換1.csv也可以
粗略介紹了一點, 如果有不懂的, 請追問.