我无法获得使用Beautiful Soup抓取到的CSV文件的输出。我有它的格式,但是我喜欢在打印时使用,但是无法将它写到这样的csv中。
我尝试了csv写入功能的几种变体,但是我可以在线找到的大多数东西都是给定列表或字典的,而这些都不是我数据的格式。也许我需要以某种方式将其列出来?
rank = (pga_text)[0]
player = (pga_text)[2]
sg_p = (pga_text)[4]
pga_file = rank + ", " + player + ", " + sg_p
print(pga_file)
myfile = open(r'C:\Users\Walsh\Documents\Python Scripts\pga.csv', 'w')
with myfile:
myfields = [rank]
writer = csv.writer(myfile)
writer.writerow(pga_file)
a.close()
如前所述,打印输出的格式为我想要的格式:
1, Justin Harding, 1.000
2, Andrew Putnam, .952
3, Dominic Bozzelli, .821
4, Graeme McDowell, .789
但是没有内容写入实际文件。
答案 0 :(得分:0)
根据此示例,似乎您正在编写字符串pga_file。
您想将一行写为列表类型。
rank = (pga_text)[0]
player = (pga_text)[2]
sg_p = (pga_text)[4]
pga_file = [rank, player, sg_p]
print(pga_file)
myfile = open(r'C:\Users\Walsh\Documents\Python Scripts\pga.csv', 'w')
with myfile:
myfields = [rank]
writer = csv.writer(myfile)
writer.writerow(pga_file)
a.close()
在此示例中,它似乎也好像您没有在使用myfields。
请参阅:csv.writer文档
答案 1 :(得分:0)
我认为您在with
上遇到了问题。
with
将在执行流退出with
范围时清理其相关资源。就是说,在您的原始代码中,当您调用writer.writerow(pga_file)
时,与with
关联的文件已关闭。尝试这样的事情:
import csv
pga_file = '1, Justin Harding, 1.000'
myfile = open(r'pga.csv', 'w')
with myfile:
writer = csv.writer(myfile)
writer.writerow(pga_file)
关于with
,您可以参考what-is-the-python-keyword-with-used-for。
答案 2 :(得分:0)
我不想导入csv库,也可以这样做
rank = 1
player = "Justin Harding"
sg_p = 1.000
pga_file = str(rank) + ", " + player + ", " + str(sg_p) + "\n"
myfile = open('pga.csv', 'w')
myfile.write(pga_file)
myfile.close()
答案 3 :(得分:0)
鉴于您已经具有要写入csv文件的字符串,则可以使用此帮助程序方法。 (鉴于pga_file是字符串类型)。我已经使用了具有不同扩展名的简单编写器,并使用csv文件对其进行了测试,并且可以正常工作。
def save (filename, pga_file):
f = open(filename, 'w')
f.write(pga_file)
f.close()
其中文件名是'C:\ Users \ Walsh \ Documents \ Python Scripts \ pga.csv'
答案 4 :(得分:0)
import csv
f = open('test.csv', mode='w')
with f as test_file:
test_writer = csv.writer(test_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
test_writer.writerow(['John', 'Smith', 'November'])
test_writer.writerow(['Frank', 'Mueller', 'March'])
print('file created')
此测试代码在您的环境中工作吗?