将网页表格(爬去数据转为excel)

将网页表格(爬去数据转为excel)

我们在日常生活中,可能都需要将爬去的数据,保存到本地,或者将文本txt文件,复制粘贴到excel中,会出现形成了一个单元格,而不是我们需要的样子

通过Python的xlwt模块来实现

import requests
import re
import xlwt


# 获取数据
url = 'http://lib.stat.cmu.edu/datasets/veteran' # 数据网址链接
res = requests.get(url)
# print(res.text)
# print(type(res.text))
# print('='*30)
str1 = re.sub('\D',' ',res.text) # 正则表达式
datas = str1.split()[12:] #  去除Variables部分,非数字
print(datas)

# 定义解析数据写入excel
def data_write(test_excel111, datas):
    f = xlwt.Workbook(encoding='utf-8')
    sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)  # 创建sheet
    #  添加表头 
    # 先定义一个列表
    # 我这里有8列
    name_lists = ['Treatment  1=standard,  2=test', 'Celltype   1=squamous,  2=smallcell,  3=adeno,  4=large',
                 'Survival in days', 'Status     1=dead, 0=censored', 'Karnofsky score', 'Months from Diagnosis',
                 'Age in years', 'Prior therapy  0=no, 10=yes']
    x = 0
    y = 0
    for name_list in name_lists:
        sheet1.write(x, y, name_list)
        y += 1

    # 将数据写入第 i 行,第 j 列
    i = 1
    j = 0
    for data in datas:
        if j % 8 == 0 and j != 0:
            # 8是代表有8列
            i = i + 1
            j = 0
        sheet1.write(i,j,data)
        j += 1
    f.save(test_excel111)  # 保存文件


data_write('./test_excel111.xls',datas)


<think>好的,我现在需要帮用户解决如何将Excel数据导出为CSV格式的问题。首先,用户的问题很明确,但作为新手可能需要详细的步骤指导。根据用户提供的引用资料,特别是引用[3]提到了MATLAB导出到CSV的方法,但用户主要是问ExcelCSV,可能需要更直接的Excel操作步骤。 首先,我应该回忆一下Excel本身是否有导出为CSV的功能。记得Excel在保存时可以选择不同的格式,包括CSV,这可能是一个简单的方法。不过需要注意不同CSV格式的区别,比如CSV UTF-8和普通CSV,这可能影响编码问题,特别是处理中文或其他特殊字符时。 然后,用户可能遇到数据量大的情况,比如引用[2]提到的百万级数据处理,这时候用Excel直接保存可能不够,需要其他工具或方法。但用户的问题可能更偏向于常规情况,所以先介绍基本方法,再补充处理大数据量的建议。 另外,引用[1]和[2]提到使用编程方式导出,比如Hive或Winform中的处理,但用户的问题可能不需要编程,所以需要分情况说明。用户可能分为普通用户和开发者,需要分别给出解决方案。 接下来,我需要整理步骤,确保覆盖不同情况。首先是使用Excel内置功能,其次是使用VBA宏处理多个文件,然后是针对大数据量的编程方法,比如Python的pandas库或者CSV模块。同时,需要注意常见问题,比如格式丢失、编码问题、分隔符等,这些都需要在注意事项中提到。 还要考虑用户可能的操作系统,比如Mac和Windows是否有差异,但暂时先以Windows为主,如果有差异再额外说明。此外,是否需要处理特殊字符,比如引号或逗号,这些在CSV中可能需要转义,应该提醒用户注意。 最后,生成相关问题,帮助用户扩展了解,比如其他格式转换或处理大数据的方法,参考提供的引用内容,引用[2]提到了Winform中的处理,引用[3]是MATLAB的例子,但用户可能对Python更感兴趣,所以相关问题可以包括编程方法或其他格式转换。</think>### 将 Excel 数据导出为 CSV 文件的方法 #### 方法1:通过 Excel 内置功能导出(适合小规模数据) 1. **打开 Excel 文件**,确保数据格式正确(如日期、数字等)。 2. **点击“文件”菜单** → **“另存为”** → 选择保存路径。 3. **在“保存类型”中选择 CSV 格式**: - `CSV (逗号分隔) (*.csv)`:默认编码为ANSI,适合英文或简单中文。 - `CSV UTF-8 (逗号分隔) (*.csv)`:支持多语言字符(推荐含中文时使用)[^3]。 4. 点击“保存”,完成导出。 #### 方法2:使用 VBA 批量导出(适合多工作表/文件) ```vb Sub ExportToCSV() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.SaveAs Filename:="C:\Output\" & ws.Name & ".csv", FileFormat:=xlCSVUTF8 Next ws End Sub ``` > 说明:通过宏实现自动化导出,需在Excel中按`Alt+F11`打开VBA编辑器插入代码。 #### 方法3:编程处理(适合百万级大数据) 若数据量超过Excel限制(约104万行),可用Python处理: ```python import pandas as pd # 读取Excel文件(分块读取) chunk_size = 100000 reader = pd.read_excel("large_file.xlsx", engine="openpyxl", chunksize=chunk_size) for i, chunk in enumerate(reader): chunk.to_csv(f"output_part_{i}.csv", index=False, encoding="utf-8-sig") ``` > 说明:通过分块读取避免内存溢出,`utf-8-sig`编码可兼容Excel直接打开[^2]。 #### 注意事项 1. **数据一致性**: - 公式需提前转换为值(复制→选择性粘贴→值)。 - 日期格式建议统一为`YYYY-MM-DD`。 2. **特殊字符处理**: - 含逗号的文本会自动添加双引号,如`"Smith, John"`。 3. **编码问题**: - 中文乱码时,选择UTF-8编码格式[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wency(王斯-CUEB)

我不是要饭的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值