Python处理CSV推荐csv模块(轻量、标准库)或pandas(功能强、适合分析);小数据用csv,复杂操作选pandas;注意编码、换行、引号等细节及中文乱码、数据类型识别等问题。
Python处理CSV文件非常方便,核心是用csv模块或pandas库——前者轻量、标准库自带;后者功能强、适合分析。选哪个取决于你的需求:简单读写用csv,带筛选、计算、合并等操作就上pandas。
适合小到中等规模数据,不依赖第三方库。注意编码(常见为UTF-8,中文需指定encoding='utf-8'),并处理换行、引号等特殊情况。
csv.reader按行读取,返回列表形式的每行数据csv.DictReader把首行当列名,返回字典,更直观易用newline=''参数,避免Windows下多空行问题pandas.read_csv()自动推断数据类型、跳过空行、处理缺失值(如nan),还能直接切片、过滤、聚合。
sep=','(分隔符)、header=0(首行为列名)、na_values=['N/A', ''](自定义空值标识)df.to_csv('output.csv', index=False),index=False避免多出序号列encoding='utf-8-sig',否则Excel打开乱码实际操作中容易卡在细节:
csv模块会自动处理,但手写或Excel导出不规范就易出错"123 kg"),可用str.strip().replace('kg','').astype(float)清洗parse_dates=['date_column']参数,或后续用pd.to_datetime()
CSV适合交换和初筛,但不适合以下场景:
openpyxl或xlsxwriter)