python 讀取多個csv文件中某一列,並生成一個新csv文件

csv文件來應該是用逗號分隔得才對源,否則怎麼算作是csv文件。樓主你開玩笑吧。否則你這只是一個普通的文本文件。如果是真正的csv文件,我只說一點,python裡面有csv模塊,專門處理csv文件。如果是空格分割應該也可以,建議你,看一下python的csv模塊的API,蠻簡單的代碼,其實如果不用的話自己寫也可以。不是很復雜。代碼片段如下:

defdeal_file(file_in,file_out)
withopen(file_in,'r')asf_in:
withopen(file_out,'w')asf_out:
forlineinf_in:
f_out.write(line.split('')[2]+' ')
之後你可以將所有的輸入文件放到一個列表裡面,進行迭代調用這個函數就可以了。

❷ python3中使用使用read_csv( )讀取csv文件,文件路徑中含有中文,怎麼處理

最頂上這樣寫:
#!/usr/bin/env python
# coding: utf-8還有文件名的引號前加u

❸ python中怎樣讀取csv文件內容

和普通文件一樣讀取。csv中文件數據項有回逗號劃分開。答
12345infile = open("data.csv", 'r') for line in infile: data = line.rstrip().split(',') print(data)

❹ 請教PYTHON讀取CSV文件方法

#!/usr/bin/python
#-*-coding:UTF-8-*-

fromLogimportLoginfo
importcgi,os,csv,sys,re
reload(sys)
sys.setdefaultencoding('utf8')

print"Content-Type:text/htmlcharset=utf-8 "

fileitem=''
defget_cgi_file():
''''''
globalfileitem,device_id,maxDeviceID,maxDriverID,channelid,ChannelDeviceType
form=cgi.FieldStorage()
#獲取文件名
fileitem=form['filename1']
#檢測文件是否上傳
iffileitem.filename:
#去掉文件路徑,獲取文件名稱
fn=os.path.basename(fileitem.filename)
open(global_var.uploadfile_path,'wb').write(fileitem.file.read())
#message='文件"'+fn+'"上傳成功!'
#printmessage
else:
message='沒有文件上傳!'
printmessage

defconvert_gbk2utf8():
data_list=[]
fd=open(global_var.uploadfile_path,'rb')
csvfd=csv.reader(fd)
forc1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14incsvfd:
c1_u=c1.decode('gb2312').encode('utf-8')
c2_u=c2.decode('gb2312').encode('utf-8')
c3_u=c3.decode('gb2312').encode('utf-8')
c4_u=c4.decode('gb2312').encode('utf-8')
c4_u=c4.decode('gb2312').encode('utf-8')
c5_u=c5.decode('gb2312').encode('utf-8')
c6_u=c6.decode('gb2312').encode('utf-8')
c7_u=c7.decode('gb2312').encode('utf-8')
c8_u=c8.decode('gb2312').encode('utf-8')
c9_u=c9.decode('gb2312').encode('utf-8')
c10_u=c10.decode('gb2312').encode('utf-8')
c11_u=c11.decode('gb2312').encode('utf-8')
c12_u=c12.decode('gb2312').encode('utf-8')
c13_u=c13.decode('gb2312').encode('utf-8')
c14_u=c14.decode('gb2312').encode('utf-8')
data_row_list=[c1_u,c2_u,c3_u,c4_u,c5_u,c6_u,c7_u,c8_u,c9_u,c10_u,c11_u,c12_u,c13_u,c14_u]
data_list.append(data_row_list)
fd.close()
#log.write_debug(data_list)
returndata_list

defanaly_csv_file(data_list):
forrownuminrange(len(data_list)):
ifrownum==0:
attrib=data_list[rownum]
else:
foriinrange(len(attrib)):
#這里循環取數據,依據是列名
ifattrib[i]=='你的列名':
printdata_list[rownum][i]

if__name__=='__main__':
log=Loginfo.Loginfo()
get_cgi_file()
try:
data_list=convert_gbk2utf8()
exceptExceptionase:
print("正在導入的表格列數不對,請檢查!")
deleteDevice()

刪了一些函數,這樣應該可以看得懂吧,c14_u是列,有多少列就多少個,這是轉換編碼。analy_csv_file(data_list)裡面對拿到的文件做處理

❺ Python 如何讀取.csv文件的單個列

import xlrd

EXCEL_BOOK_FULLNAME='FULL FILE NAME'

workbook=xlrd.open_workbook(EXCEL_BOOK_FULLNAME)

worksheet=workbook.sheet_by_name('Sheet1')

rows=worksheet.nrows #worksheet rows

cols=worksheet.ncols #worksheet columns

lists=[[],[],[],[]] #modify this according your column counts

for c in range(cols): #transfer excel values into lists

for r in range(rows):

lists[c].append(worksheet.cell_value(r,c))

❻ 如何用python讀入csv文件

class DBI(object):
"""database interface"""
def __init__(self, conn):
"""keep connection"""
self._conn = conn
def store(self, sql, data):
"""store data into database with given sql"""
curr = self._conn.cursor()
curr.executemany(sql, data)
self._conn.commit()
curr.close()
def execute(self, sql, *args, **kwgs):
"""execute sql on database"""
curr = self._conn.cursor()
curr.execute(sql, *args, **kwgs)
self._conn.commit()
curr.close()

❼ 利用Python如何將數據寫到CSV文件中

如果你的數據是列表格式,可以使用一個迭代器,將數據寫入文件,同時添加必回要的分隔符以構成csv文件
如果數據答是字典格式,需要考慮使用換行符或者其他特殊符號來分割每個字典元素(包括鍵和值)。鍵和值可以考慮使用和之前不重復的分隔符進行分割。
這樣就構成了一個csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用讀寫追加的方式打開csv文件。
2,找到csv文件的結尾。
3,在結尾使用和之前csv使用的分割相同的格式進行數據添加。
4,關閉文件

❽ Python怎麼把輸出整體寫入CSV文件

在試了n多方案 ironpython, eric, winpdb, pyscripter, ipython之後, 選擇了一個超級簡單的方案: code, telnetlib, 然後問題就解決了.

❾ 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