Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-以整洁的表格格式将HTML刮到csv_Python_Export To Csv - Fatal编程技术网

Python-以整洁的表格格式将HTML刮到csv

Python-以整洁的表格格式将HTML刮到csv,python,export-to-csv,Python,Export To Csv,我得到了下面的python脚本,它的目的是提取HTML并以嵌套表格式保存到csv 有人能帮忙吗?多谢各位 我刚刚尝试了你的代码(稍加修改),它可以工作: import pandas as pd url = 'http://www.aastocks.com/en/cnhk/market/quota-balance/hk-connect' for i, df in enumerate(pd.read_html(url)): filename = '/tmp/output_%02d.cs

我得到了下面的python脚本,它的目的是提取HTML并以嵌套表格式保存到csv

有人能帮忙吗?多谢各位

我刚刚尝试了你的代码(稍加修改),它可以工作:

import pandas as pd

url = 'http://www.aastocks.com/en/cnhk/market/quota-balance/hk-connect'

for i, df in enumerate(pd.read_html(url)):
    filename = '/tmp/output_%02d.csv' % i
    df.to_csv(filename, encoding='utf-8')
输出:

daniel@synapse:/tmp$ cat output_17.csv
,0,1,2,3,4,5
0,Combined Southbound,,,,,
1,Date,Daily Quota Balance(% of Quota),Money Flow,Buy Trade Value(HKD),Sell Trade Value(HKD),Total Trade Value1 (% of Market Turnover)
2,2018/02/07,20.68B(98.46%),In 322.87M,TBA,TBA,TBA
3,2018/02/06,12.98B(61.81%),In 8.02B,25.70B,18.10B,43.80B(16.98%)
4,2018/02/05,10.76B(51.25%),In 10.24B,19.50B,8.91B,28.41B(16.72%)
5,2018/02/02,15.60B(74.29%),In 5.40B,12.43B,7.05B,19.48B(13.17%)
6,2018/02/01,18.67B(88.90%),In 2.33B,11.60B,9.89B,21.49B(13.90%)
7,2018/01/31,14.89B(70.91%),In 6.11B,14.29B,8.32B,22.61B(12.79%)
8,2018/01/30,17.55B(83.55%),In 3.45B,11.82B,8.86B,20.68B(11.92%)
9,2018/01/29,16.24B(77.35%),In 4.76B,14.98B,10.45B,25.43B(13.27%)
10,2018/01/26,17.53B(83.46%),In 3.47B,12.01B,9.20B,21.21B(11.79%)
11,2018/01/25,18.18B(86.58%),In 2.82B,13.09B,11.13B,24.22B(12.90%)
12,2018/01/24,17.02B(81.07%),In 3.98B,13.42B,10.13B,23.55B(12.54%)
13,2018/01/23,14.72B(70.07%),In 6.28B,15.35B,9.39B,24.74B(12.50%)
14,2018/01/22,14.77B(70.31%),In 6.23B,14.43B,8.21B,22.64B(13.40%)
15,2018/01/19,14.75B(70.26%),In 6.25B,13.86B,7.68B,21.54B(13.25%)
16,2018/01/18,14.78B(70.36%),In 6.22B,15.07B,8.94B,24.01B(12.23%)
17,,,,,,
仅供参考:页面字符集=UTF-8

最新评论 我使用excel打开csv,发现内容乱七八糟

我没有找到任何中文字符,但如果我将URL更改为
URL=http://www.aastocks.com/sc/cnhk/market/quota-balance/hk-connect“
,所以中文显示正确

import pandas as pd

url = 'http://www.aastocks.com/sc/cnhk/market/quota-balance/hk-connect'

for i, df in enumerate(pd.read_html(url, encoding='utf-8')):
    filename = '/tmp/output_%02d.csv' % i
    df.to_csv(filename, encoding='utf-8')
检查输出:

daniel@synapse:/tmp$ head -5 output_17.csv
,0,1,2,3,4,5
0,南向合计,,,,,
1,日期,每日额度馀额(占额度),当日资金流向,买入成交额(港元),卖出成交额(港元),总成交额1(佔大市成交%)
2,2018/02/07,218.69亿(104.14%),流出8.69亿,163.10亿,188.78亿,351.88亿(16.12%)
3,2018/02/06,129.79亿(61.81%),流入80.21亿,257.05亿,180.96亿,438.01亿(16.98%)

因此,我认为在
excel
中编码存在问题(如果我错了,请修复我)。

尝试将url声明为unicode
url=u'http://www.aastocks.com/en/cnhk/market/quota-balance/hk-connect“
Hi Jared,在尝试将rul声明为uicod:IndentationError:应为缩进块后,我收到了错误消息。我还尝试在df.to_csv('C:\Users\Lawrence\Desktop\PyTest\output.csv'%I')之前[Tab],它仍然有缩进错误,我该怎么办?是
python2
还是
python3
?可能是
python2
而您遇到了编码问题。我的问题是python3.6,例如阅读字符串格式。很抱歉由于工作原因回复得太晚。。我尝试了以下操作:在enumerate(pd.read_html(url)):filename='C:/Users/Lawrence/Desktop/PyTest/output.csv'%I df.to_csv(filename,encoding='utf-8')中为I,df导入熊猫作为pd url='':但是,它返回错误消息:Traceback(最近一次调用):File“”,第2行,in-TypeError:并非所有参数都在字符串格式化过程中转换,因为您正在尝试格式化字符串
'C:\Users\Lawrence\Desktop\PyTest\output.csv“%i
,但要格式化什么?格式化的标志在哪里?您是否看到我的实现-
”/tmp/output\u02d.csv“%i
?您是否看到
%02d
标志?你的国旗在哪里?谢谢你,斯克瓦,它很好用。我使用excel打开csv,发现内容乱七八糟。(应该是中文),怎么可读?@YungLinMa
pandas
无法正确解析页面
pandas
要求数据将位于
HTML表和静态页面中,即不使用javascript填充。在您的案例表中,由js填充。如何将动态网站下载到csv。你能告诉我密码吗。谢谢你,你真的很有知识,很有帮助:)