Python 如何将此信息放入列中?

Python 如何将此信息放入列中?,python,beautifulsoup,python-3.7,Python,Beautifulsoup,Python 3.7,我的代码正在运行。但我需要列中的信息。有人能帮我吗?我先谢谢你 from bs4 import BeautifulSoup import csv #Request webpage content result = requests.get('https://www.solar.com/learn/solar-panel-cost/') #Save content in var src = result.content #soupactivate soup = BeautifulSoup(

我的代码正在运行。但我需要列中的信息。有人能帮我吗?我先谢谢你

from bs4 import BeautifulSoup
import csv


#Request webpage content
result = requests.get('https://www.solar.com/learn/solar-panel-cost/')

#Save content in var
src = result.content

#soupactivate
soup = BeautifulSoup(src,'lxml')


#Open CSV
file = open('priceperwatt','w')
writer = csv.writer(file)

for tr in soup.findAll('tr'):
    rowtext = tr.get_text()
    writer.writerow([rowtext])

file.close()

所以我对你的代码做了一些改进。主要的问题是,由于前几行包含的元素数量不相同,所以要刮取的数据不适合数组。但是,一旦你进入['State'、'Market Price Per Watt'、'Solar.com Price Per Watt'],你就可以将它们用作列标题。我的更改包括修改csv读写器以接受分隔每行的换行符kwarg

从bs4导入美化组
导入请求
导入csv
#请求网页内容
结果=请求。获取('https://www.solar.com/learn/solar-panel-cost/')
#在var中保存内容
src=result.content
#苏帕蒂维特
汤=美汤(src,'lxml')
#打开CSV
以open('priceperwatt','w',newline=''作为文件:
writer=csv.writer(文件)
对于汤中的tr.findAll('tr'):
rowtext=tr.get_text()
writer.writerow([rowtext])
以open('priceperwatt','r',newline=''作为文件:
reader=csv.reader(文件)
对于读取器中的行:
行=''.join(行).strip('\n').split('\n'))
打印(行)
输出:

['Solar Price Per Watt', 'Solar Price Per Kilowatt Hour']
['GROSS system cost / Total system wattage', 'NET system cost / Total lifetime system production']
['Useful for comparing solar quotes against one another', 'Useful for comparing solar versus utility bill']
['Pertains to the POWER of a system', 'Pertains to the PRODUCTION of a system']
['Typically $3.00-4.00/watt', 'Typically $0.06-0.08/kWh']
['State', 'Market Price Per Watt', 'Solar.com Price Per Watt']
['Arizona', '$3.61/W', '$3.39/W']
['California', '$4.31/W', '$3.76/W']
['Connecticut', '$3.65/W', '$3.68/W']
['Florida', '$3.45/W', '$2.82/W']
['Massachusetts', '$4.18/W', '$3.92/W']
['Maryland', '$3.93/W', '$3.64/W']
['Minnesota', '$4.61/W', '$3.66/W']
['New Hampshire', '$3.72/W', '$3.37/W']
['New Mexico', '$4.82/W', '$3.56/W']
['Oregon', '$3.79/W', '$3.68/W']
['Texas', '$3.83/W', '$3.17/W']
['Wisconsin', '$3.29/W', '$3.83/W']
最后:

将熊猫作为pd导入
lst=[]
以open('priceperwatt','r',newline=''作为文件:
reader=csv.reader(文件)
对于读取器中的行:
行=''.join(行).strip('\n').split('\n'))
lst.append(行)
pd.DataFrame(lst[6:],columns=lst[5])

您是否只需要逗号而不是新行?类似于
rowtext=tr.get_text().replace(“\n”,“,”)+“\n”