Python操作CSV文件的小结

Python 提供了多种方式来操作 CSV 文件,下面都是常用的方法:

1. 使用 csv 模块

Python 的 csv 模块提供了读取和写入 CSV 文件的功能。例如:

import csv

# 读取 CSV 文件
with open('example.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

# 写入 CSV 文件
with open('example.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['column1', 'column2', 'column3'])

2.使用 pandas

pandas 库是 Python 的一个非常流行的数据分析库,提供了读取和写入 CSV 文件的功能。例如:

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('example.csv')

# 写入 CSV 文件
df.to_csv('example.csv', index=False)

3. 使用 numpy

numpy 库是 Python 的一个流行的数值计算库,提供了读取和写入 CSV 文件的功能。例如:

import numpy as np

# 读取 CSV 文件
data = np.loadtxt('example.csv', delimiter=',')

# 写入 CSV 文件
np.savetxt('example.csv', data, fmt='%f', delimiter=',')

4. 使用 openpyxl

openpyxl 库是 Python 的一个 Excel 文件操作库,可以读取和写入 CSV 文件。例如:

from openpyxl import load_workbook

# 读取 CSV 文件
wb = load_workbook(filename='example.csv')
ws = wb.active
print(ws.values)

# 写入 CSV 文件
wb = load_workbook()
ws = wb.active
ws.append(['column1', 'column2', 'column3'])

5. 使用 sqlite3

sqlite3 库是 Python 的一个数据库操作库,可以读取和写入 CSV 文件。例如:

import sqlite3

# 读取 CSV 文件
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute("SELECT * FROM example")
rows = c.fetchall()
print(rows)

# 写入 CSV 文件
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute("INSERT INTO example VALUES ('column1', 'column2', 'column3')")

6. 使用 xlrdxlwt

import xlrd
import xlwt

# 读取 CSV 文件
workbook  = xlrd.open_workbook('example.csv')
sheet  = workbook.sheet_by_index(0)
for row in sheet.rows:
    print(row)

# 写入 CSV 文件
workbook  = xlwt.Workbook()
sheet  = workbook.add_sheet('Sheet1')
sheet.write(0, 0, 'column1')
sheet.write(0, 1, 'column2')
sheet.write(0, 2, 'column3')
workbook.save('example.csv')

7. 使用 pandas 库的 read_csv()to_csv() 函数

import pandas as pd

# 读取 CSV 文件
df  = pd.read_csv('example.csv')

# 写入 CSV 文件
df.to_csv('example.csv', index=False)

8. 使用 csvkit

import csvkit

# 读取 CSV 文件
with open('example.csv', 'r') as f:
    reader  = csvkit.CSVReader(f)
    for row in reader:
        print(row)

# 写入 CSV 文件
with open('example.csv', 'w') as f:
    writer  = csvkit.CSVWriter(f)
    writer.writerow(['column1', 'column2', 'column3'])

9. 使用 pyexcel

import pyexcel

# 读取 CSV 文件
data  = pyexcel.get_records('example.csv')

# 写入 CSV 文件
pyexcel.Saver('example.csv').save([['column1', 'column2', 'column3']])

这些方法都可以用来操作 CSV 文件,但是实际上,使用 csv 模块或 pandas 库是最常见的选择。