将网址CSV保存为CSV?

时间:2018-01-17 20:49:30

标签: python csv

我从网址中提取了一些数据但我无法用它创建一个csv。当我尝试将其保存到csv中时,每个字符都在一行而不是单元格中......

$returnValue->content[0]->id;

数据:

import csv
import requests
from requests.auth import HTTPBasicAuth

requests.get('url', auth=HTTPBasicAuth('url', 'pass'))
a = requests.get('url2', auth=HTTPBasicAuth('url', 'pass'))

b = a.text
a = b.replace('"', '')
f = a.replace('%', '')
g = f.replace('.','')
z = g.replace(',', '.')
zz = z.replace(';',',')

with open('jj.csv', 'w') as out_file:
        writer = csv.writer(out_file)
        writer.writerows(zz)
>>> zz

这是我保存的csv:

enter image description here

2 个答案:

答案 0 :(得分:0)

使用

with open('jj.csv', 'w') as out_file:
    writer = csv.writer(out_file)
    writer.writerows(zz.split(","))

这将从你的字符串创建一个列表,在','处分开 - writerows获取一个可迭代的并将其写入文件 - 一个字符串也是可迭代的,这就是你为什么单独得到每个字符的原因。 / p>

在此处阅读:https://docs.python.org/3/library/csv.html#writer-objects

答案 1 :(得分:0)

试试这个:

import csv
import requests
from requests.auth import HTTPBasicAuth

requests.get('url', auth=HTTPBasicAuth('url', 'pass'))
a = requests.get('url2', auth=HTTPBasicAuth('url', 'pass'))

b = a.text
a = b.replace('"', '')
f = a.replace('%', '')
g = f.replace('.','')
z = g.replace(',', '.')
zz = z.replace(';',',')
zz = zz.split('.')

with open('jj.csv', 'w') as out_file:
    writer = csv.writer(out_file)
    writer.writerows([zz])

<强>解释 你需要传递一个二维数组来写行,在这种情况下你只有一行,所以我们将[zz]传递给writer.writerows。 zz本身应该是一个数组,其中每个元素都是一个新列,我们通过执行zz.split('。')来实现

相关问题