我从网址中提取了一些数据但我无法用它创建一个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:
答案 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('。')来实现