当将大量数据(60多万个网页)写入csv文件时,发现使用csv包,一行一行写入时效率太慢,考虑使用pandas的DataFrame 写入,发速度快多了

    1. #!usr/bin/env python
    2. # -*- coding:utf-8 -*-
    3. import os
    4. import time
    5. import pandas as pd
    6. if __name__ == '__main__':
    7. pro_url = 'https://ehsy/test.com'
    8. order_number = 'AAA567'
    9. data = [{
    10. 'pro_url': pro_url,
    11. 'order_number': order_number,
    12. }]
    13. # columns是行的标题
    14. df = pd.DataFrame(data, columns=[
    15. 'pro_url',
    16. 'order_number',
    17. ])
    18. # 下面代码作用:只写入一次表头
    19. if not os.path.exists(r'C:\Users\touch-spring\Desktop\test.csv'):
    20. df.to_csv(r'C:\Users\touch-spring\Desktop\test.csv', mode='a', index=False, header=True,
    21. index_label=False, quoting=3, escapechar='|',
    22. encoding="utf_8_sig", sep='|')
    23. else:
    24. df.to_csv(r'C:\Users\touch-spring\Desktop\test.csv', mode='a', index=False, header=False,
    25. index_label=False, quoting=3, escapechar='|',
    26. encoding="utf_8_sig", sep='|')
    • header : 是否保存列名,默认为 True ,保存
    • index : 是否保存索引,默认为 True ,保存
    • index_label : 索引的列标签名
    • sep : 输出文件的字段分隔符,默认为 “,”
    • quoting=3如实的将字符串内容写入文件(即当字符串里面有引号时,写入文件时不再加上双引号)
    • escapechar : 指定一个字符使的不受分隔符限值。