python进阶宝典13- csv 文件处理

csv是文本格式,有python自带的csv模块,很方便进行处理。 

## 读取数据
import csv
exampleFile = open('example.csv')
exampleReader = csv.reader(exampleFile)
exampleData = list(exampleReader)
print(exampleData)
print(exampleData[0])
print(exampleData[0][0])
print(exampleData[1][1])
exampleFile = open('example.csv')         # Reader对象只能循环遍历一次,再次读取需要再次创建对象
exampleReader = csv.reader(exampleFile)
for row in exampleReader:
    print('Row #' + str(exampleReader.line_num) + ' ' + str(row))   # exampleReader.line_num  当前行的编号

## Writer对象
import csv
outputFile = open('output.csv','w',newline='')
outputWriter = csv.writer(outputFile)
outputWriter.writerow(['spam','eggs','bacon','ham'])
outputWriter.writerow(['hello,world!','eggs','bacon','ham'])
outputWriter.writerow(['1,2,3.13,4'])
outputFile.close()

## delimiter及lineterminator参数,设置单元格分隔符及行分隔符
import csv
csvFile = open('output.csv','w',newline='')
csvWriter = csv.writer(csvFile,delimiter=r'\t',lineterminator='\n\n')     # 制表符分割 及 空行换行
csvWriter.writerow(['spam','eggs','bacon','ham'])
csvWriter.writerow(['hello,world!','eggs','bacon','ham','outputFile'])
csvWriter.writerow([1,2,3.13,4])

## 合并当前目录下所有csv文件,并删除表头
# Removes the header from all CSV files in the current working directory.
import csv,os
os.makedirs('headerRemoved',exist_ok=True)
# Loop through every file in the current working directory.
for csvFilename in os.listdir('.'):
    if not csvFilename.endswith('.csv'):
        continue          # skip non-csv files
    print('Removing header from ' + csvFilename + '...')
    # Read the CSV file in (skipping first row)
    csvRows = []
    csvFileObj = open(csvFilename)
    readerObj = csv.reader(csvFileObj)
    for row in readerObj:
        if readerObj.line_num == 1:
            continue     # skip first row
        csvRows.append(row)
    csvFileObj.close()
    # write to the CSV file.
    csvFileObj = open(os.path.join('headerRemoved',csvFilename),'w',newline='')
    csvWriter = csv.writer(csvFileObj)
    for row in csvRows:
        csvWriter.writerow(row)
    csvFileObj.close()


猜你喜欢

转载自blog.csdn.net/ebzxw/article/details/80358652