当将大量数据(60多万个网页)写入csv文件时,发现使用csv包,一行一行写入时效率太慢,考虑使用pandas的DataFrame 写入,发速度快多了
#!usr/bin/env python
# -*- coding:utf-8 -*-
import os
import time
import pandas as pd
if __name__ == '__main__':
pro_url = 'https://ehsy/test.com'
order_number = 'AAA567'
data = [{
'pro_url': pro_url,
'order_number': order_number,
}]
# columns是行的标题
df = pd.DataFrame(data, columns=[
'pro_url',
'order_number',
])
# 下面代码作用:只写入一次表头
if not os.path.exists(r'C:\Users\touch-spring\Desktop\test.csv'):
df.to_csv(r'C:\Users\touch-spring\Desktop\test.csv', mode='a', index=False, header=True,
index_label=False, quoting=3, escapechar='|',
encoding="utf_8_sig", sep='|')
else:
df.to_csv(r'C:\Users\touch-spring\Desktop\test.csv', mode='a', index=False, header=False,
index_label=False, quoting=3, escapechar='|',
encoding="utf_8_sig", sep='|')
- header : 是否保存列名,默认为 True ,保存
- index : 是否保存索引,默认为 True ,保存
- index_label : 索引的列标签名
- sep : 输出文件的字段分隔符,默认为 “,”
- quoting=3如实的将字符串内容写入文件(即当字符串里面有引号时,写入文件时不再加上双引号)
- escapechar : 指定一个字符使的不受分隔符限值。