楼主: xiaotou0377
3657 4

[数据管理求助] 请问stata怎么把大的dta数据文件输出成execl? [推广有奖]

  • 0关注
  • 0粉丝

小学生

78%

还不是VIP/贵宾

-

威望
0
论坛币
955 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
275 点
帖子
7
精华
0
在线时间
8 小时
注册时间
2017-8-26
最后登录
2020-3-20

楼主
xiaotou0377 发表于 2020-2-2 20:28:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问:stata怎么把大的dta数据文件输出成execl?一个文件里面有700多万条数据
我使用的命令是:export excel "Amihud.xlsx", firstrow(varlabels) replace
报错:observations must be between 1 and 1048576
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


沙发
qiangli 发表于 2020-2-2 21:16:16 来自手机
保存为csv格式

藤椅
xiaotou0377 发表于 2020-2-2 21:29:41
qiangli 发表于 2020-2-2 21:16
保存为csv格式
嗯嗯可以的,谢谢你!原来csv格式对行数是没有限制的呀

板凳
18362998180 学生认证  发表于 2023-4-14 15:48:17
qiangli 发表于 2020-2-2 21:16
保存为csv格式
请问 为什么我已经修改为csv格式,仍然报错:observations must be between 1 and 1048576呢?

报纸
赵安豆 发表于 2024-5-22 19:20:27
在Stata中,由于Excel文件格式本身对行数有限制(通常是1048576行),所以当你试图将大量数据(如700万条)直接导出到Excel时,会遇到错误。为了解决这个问题,你可以考虑分批导出数据。以下是一个简单的例子,说明如何分批导出:

1. 首先确定你要分多少批,比如每批50万行。
2. 创建一个循环,从第一行开始,每次增加50万行(或其他你选择的批量大小)直到所有观测值都被处理。

下面是一个示例代码:

```stata
local batch_size = 500000 // 每批导出的观测数
local start = 1 // 起始观测数
local end_7mio = 7000000 // 7百万条数据的结束观测数

while `start' <= `end_7mio' {
    local end_batch = min(`batch_size', `end_7mio' - `start' + 1)
   
    use "Amihud.dta", clear
    keep if _n >= `start' & _n < `start' + `end_batch'
   
    export excel using "Amihud_part`start'.xlsx", firstrow(varlabels) replace
   
    local start = `start' + `batch_size'
}
```

这段代码将数据分为多个Excel文件,每个文件最多50万行(或你选择的批量大小)。你需要根据你的实际情况调整`batch_size`、`start`和`end_7mio`。导出的文件将以"Amihud_part1.xlsx", "Amihud_part2.xlsx"等格式保存。

请注意,这种方法可能无法在单个Excel文件中保持所有数据,但至少可以让你将大文件分解成更小、更易管理的部分。如果你需要合并这些Excel文件,你可以在其他程序(如Python或VBA)中完成。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-18 14:41