使用python3.5从url保存csv会降低CR和LF

2024-05-29 02:23:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python3.5.0获取一些人口普查数据。当我使用我的脚本时,它确实从url中检索数据并保存它,但是保存的文件无法导入到SQL,因为它不知何故删除了{CR}{LF}。我怎样才能得到它保存的文件并导入到SQL中?在

try:
    url = 'https://www.census.gov/popest/data/counties/asrh/2014/files/CC-EST2014-ALLDATA.csv'

    headers = {}
    headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0'

    req = urllib.request.Request(url,headers=headers)
    resp = urllib.request.urlopen(req)
    respData = resp.read()

    saveFile = open('Vintage2014.csv' ,'w')
    saveFile.write(str(respData))
    saveFile.close()

except Exception as e:
    print(str(e))

Tags: 文件csv数据脚本urlsqlrequesturllib
1条回答
网友
1楼 · 发布于 2024-05-29 02:23:45

注意,您试图下载的文件不包含CRLF只包含LF。在

可以使用以下方法将字节转换为合适的字符串。这也会导致您得到CRLF

import urllib.request

try:
    url = 'https://www.census.gov/popest/data/counties/asrh/2014/files/CC-EST2014-ALLDATA.csv'
    headers = {}
    headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0'
    req = urllib.request.Request(url, headers=headers)
    resp = urllib.request.urlopen(req)
    respData = resp.read()

    with open('Vintage2014.csv', 'w') as saveFile:
        saveFile.write(respData.decode('latin-1'))

except Exception as e:
    print(str(e))

相关问题 更多 >

    热门问题