永龙89 2022-08-20 08:49 采纳率: 89.3%
浏览 78
已结题

python抓取网页上的表格写入CSV,0开头的数字,怎么能完整的写入csv?

img

img

import pandas as pd

df = pd.DataFrame()
for i in range(1, 26):
url = f'http://vip.stock.finance.sina.com.cn/q/go.php/vComStockHold/kind/jjzc/index.phtml?p={i}%27
df = pd.concat([df, pd.read_html(url)[0].iloc[::,:-1]])
df.to_csv('新浪财经基金重仓股数据.csv', encoding='utf-8', index=False)

这个代码可以存储到csv,但是代码那一列的0都消失了。

0开头的代码怎么能完整的写入csv?000123不要显示123.

  • 写回答

3条回答 默认 最新

  • 爱看书的小沐 2022-08-20 11:16
    关注
    
    import pandas as pd
    
    df = pd.DataFrame()
    for i in range(1, 5):
        url = f'http://vip.stock.finance.sina.com.cn/q/go.php/vComStockHold/kind/jjzc/index.phtml?p={i}%27'
        df = pd.concat([df, pd.read_html(url)[0].iloc[::,:-1]])
    
    # df['代码'].apply(str)
    # df['代码'] = df['代码'].astype(str)
    # df['代码'] = df['代码'].apply(lambda _: str(_))
    
    df['代码'] = df['代码'].map(lambda x:('%06d')%x).apply(str)
    
    df.to_csv('新浪财经基金重仓股数据4.csv', encoding='utf_8_sig', index=False)
    

    执行代码后,如下图所示,csv文件中的第一列的开头的已经保存了下来。

    img

    使用excel打开生成的csv文件后,第一列仍然不显示前面的0,可以选中第一列之后,鼠标右键“设置单元格格式”,再点击确定即可,如下:

    img

    当然还可以在第一列的文本前增加一个前缀,比如一个字母A,或一个单引号,python导出csv文件之后,直接用ecxel打开,无需其他设置。

    
    import pandas as pd
    
    df = pd.DataFrame()
    for i in range(1, 5):
        url = f'http://vip.stock.finance.sina.com.cn/q/go.php/vComStockHold/kind/jjzc/index.phtml?p={i}%27'
        df = pd.concat([df, pd.read_html(url)[0].iloc[::,:-1]])
    
    df['代码'] = df['代码'].map(lambda x:('%06d') % x).apply(str)
    # df['代码'] = "'" + df['代码']
    # 或
    df['代码'] = "A" + df['代码']
    
    df.to_csv(r'd:\新浪财经基金重仓股数据4.csv', encoding='utf_8_sig', index=False)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月31日
  • 已采纳回答 8月23日
  • 创建了问题 8月20日

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题