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. 使用 xlrd 和 xlwt 库
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 库是最常见的选择。