pythoncsv追加
① 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
② 求助,python如何在csv插入一列的問題
# -*- coding: utf8 -*-
import csv
l = [['1', 'Wonderful Spam'],['2', 'Lovely Spam']]
#模擬數據寫入一個csv
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',',quotechar='"', quoting=csv.QUOTE_MINIMAL)for row in l:
spamwriter.writerow(row)
#從文件讀取
l=[]
with open('eggs.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')for row in spamreader:
l = l + [row]
#把兩列拼接增加為第三列寫回到文件
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',',quotechar='"', quoting=csv.QUOTE_MINIMAL)for row in l:
print(row)
spamwriter.writerow(row + [row[0]+row[1]])
③ python jupyter怎麼寫入csv文件,有什麼方法
with open(文件路徑,'a+') as f:
f. write(你要寫入的內容)
④ python中CSV寫入字元串列表,單行變多個單字元的問題
for v in data_list:
這句有問題,你的兩種格式都是list,
在這句之前應該先判斷整個list的類型,如果是嵌套的list,才進行for
否則,就應該把簡單list轉成嵌套list
即data_list = [data_list]
⑤ python怎麼導入csv文件
python中有一個讀寫csv文件的包,直接import
csv即可。利用這個python包可以很方便對csv文件進行操作,一些簡單的用法如下。
讀文件
csv_reader
=
csv.reader(open('data.file',
encoding='utf-8'))
for
row
in
csv_reader:
print(row)
⑥ 利用Python如何將數據寫到CSV文件中
如果你的數據是列表格式,可以使用一個迭代器,將數據寫入文件,同時添加必要的分隔符以構成csv文件
如果數據是字典格式,需要考慮使用換行符或者其他特殊符號來分割每個字典元素(包括鍵和值)。鍵和值可以考慮使用和之前不重復的分隔符進行分割。
這樣就構成了一個csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用讀寫追加的方式打開csv文件。
2,找到csv文件的結尾。
3,在結尾使用和之前csv使用的分割相同的格式進行數據添加。
4,關閉文件
⑦ python修改csv文件
不能寫入原文件。。。
要麼寫到另外文件,要麼在文件的基礎上追加,要麼覆蓋源文件。。不可能在一行讀入後修改完再寫到這一行。。
⑧ python怎麼實現CSV批處理,並把文件名和文件夾名添加到後兩列
#encoding: utf-8__author__ = 'DELL'import csvimport globimport datetimeimport sysimport osreload(sys)#中文錯誤sys.setdefaultencoding( "utf-8" )'''@author likehua CSV批處理'''class BatchProcessCSV: def __init__(self,inputfolder="c:\\input\\",outputfolder="c:\\output\\"): self.inputfolder=inputfolder self.outputfolder=outputfolder #批處理 def doBatchAction(self): startTime=datetime.datetime.now() print(u"開始處理...") if (os.path.exists(self.outputfolder)==False): #pass os.makedirs(self.outputfolder) list_dirs = os.walk(self.inputfolder) for root, dirs, files in list_dirs: #print i for file in files: otput=self.outputfolder+file self.readcsv2csv(self.inputfolder+file,otput) print(u"Running.........................\n") endTime=datetime.datetime.now() print(u"處理完成,耗時:%f秒"%(endTime-startTime).seconds) #讀取一個csv提取部分信息生成新的CSV def readcsv2csv(self,inputfile,outputfile): with open(inputfile, 'rb') as csvfile: o=open(outputfile,"wb") #解決csv瀏覽亂碼問題 o.write('\xEF\xBB\xBF'); writer=csv.writer(o) #讀取列 將字元串轉為數組 column=csvfile.readline().split(",") #print(column.index('App Release Date')) #print(column) writer.writerow(['Rank' ,'Category', 'Country ','App Name', 'Value', 'Unit' , 'App Release Date', 'Publisher Name', 'Company Name', 'Parent Company Name']) reader = csv.reader(csvfile) #table = reader[0] #Rank, Category, Store, Device, Type, Country, Period,Version, App_ID, App_Name, Value, Unit, Value_Type, AppURL, App_IAP, App_Category, App_Device, Current_Price, App_Release_Date, Publisher_ID, Publisher_Name, CompanyName, ParentCompanyName, AppNameUnified, AppFranchise, UnifiedAppID, AppFranchiseID, CompanyID, ParentCompanyID for row in reader: lenth=len(row) if lenth>10: writer.writerow([row[column.index("Rank")],row[column.index("Category")],row[column.index("Country")],row[column.index("App Name")],row[column.index("Value")],row[column.index("Unit")],row[column.index("App Release Date")],row[column.index("Publisher Name")],row[column.index("Company Name")],row[column.index("Parent Company Name")]]) #processif __name__=="__main__": csvProcess=BatchProcessCSV("c:\\input\\","e:\\output\\") csvProcess.doBatchAction()
⑨ Python的CSV模塊,怎麼新建為添加模式
'w'為擦寫,即清除已有數據後寫入新的。
用'a+'為追加。
這樣就行