2012-2017年俄罗斯公司报告

boo的Python项目详细描述


PyPIBuild StatusCoverage Statuscolab

boo

boo是一个python客户端,可以从rosstat网站下载和转换年度公司报告。

安装

pip install boo

对于开发版本:

pip install git+https://github.com/ru-corporate/boo.git@master

用法

frombooimportdownload,build,read_dataframedownload(2012)build(2012)df=read_dataframe(2012)print(df.head())

文件

csv文件位于~/.boo文件夹中。boo.locate(year)将精确显示它们的位置。

File nameDescriptionColumn countCreated by
^{}Original CSV file from Rosstat website. No header row.266^{}
^{}CSV file with column names in header row.58^{}

boo.build()获取raw<year>.csv并创建本地csv文件<year>.csv 列名。<year>.csv可作为pandas数据帧导入。read_intermediate_df(year)将返回<year>.csv内容。

df = read_dataframe(year)返回引用(“规范”)数据集。此函数转换<year>.csv中的某些列(例如,从inn中提取region),并应用筛选器移除错误行。

变量

rosstat数据集包含资产负债表、损益表和现金流量表变量。每个变量都是dataframe中的一列。

>>>{c:boo.whatis(c)forcindf.columnsif"_lag"noinc})Out[126]:{'title':'Короткое название организации','org':'Тип юридического лица (часть наименования организации)','okpo':None,'okopf':None,'okfs':None,'okved':None,'unit':None,'ok1':'Код ОКВЭД первого уровня','ok2':'Код ОКВЭД второго уровня','ok3':'Код ОКВЭД третьего уровня','region':'Код региона по ИНН','of':'Основные средства','ta_fix':'Итого внеоборотных активов','cash':'Денежные средства и денежные эквиваленты','ta_nonfix':'Итого оборотных активов','ta':'БАЛАНС (актив)','tp_capital':'Итого капитал','debt_long':'Долгосрочные заемные средства','tp_long':'Итого долгосрочных обязательств','debt_short':'Краткосрочные заемные обязательства','tp_short':'Итого краткосрочных обязательств','tp':'БАЛАНС (пассив)','sales':'Выручка','profit_oper':'Прибыль (убыток) от продаж','exp_interest':'Проценты к уплате','profit_before_tax':'Прибыль (убыток) до налогообложения','profit_after_tax':'Чистая прибыль (убыток)','cf_oper_in':'Поступления - всего','cf_oper_in_sales':'От продажи продукции, товаров, работ и услуг','cf_oper_out':'Платежи - всего','paid_to_supplier':'Поставщикам (подрядчикам) за сырье, материалы, работы, услуги','paid_to_worker':'В связи с оплатой труда работников','paid_interest':'Проценты по долговым обязательствам','paid_profit_tax':'Налога на прибыль организаций','paid_other_costs':'Прочие платежи','cf_oper':'Сальдо денежных потоков от текущих операций','cf_inv_in':'Поступления - всего','cf_inv_out':'Платежи - всего','paid_fa_investment':'В связи с приобретением, созданием, модернизацией, реконструкцией и подготовкой к использованию внеоборотны активов','cf_inv':'Сальдо денежных потоков от инвестиционных операций','cf_fin_in':'Поступления - всего','cf_fin_out':'Платежи - всего','cf_fin':'Сальдо денежных потоков от финансовых операций','cf':'Сальдо денежных потоков за отчетный период'}

提示

用户

  • csv文件很大,从2012年开始试验。
  • 使用上面的链接google colab远程运行包。
  • 使用read_dataframe(year)读取规范csv文件。

显影器
  • boo.path.default_data_folder显示csv文件在计算机上的位置。
  • boo.columns控制csv列的选择和命名。
  • boo.dataframe.canonic生成规范的csv。巧合的是,outputhas的列数与<year>.csv相同,但由于添加了一些列,删除了一些列,这些列略有不同。
  • boo.year.TIMESTAMPS帮助查找正确的url,这些url随rosstat网站更新而变化。
  • 9-10月发布的新年度数据集。

脚本

rosstat发布没有列标题的csv文件。 在准备可读的csv文件时,我们为列指定一个名称 与感兴趣的变量一起切掉其余的列。

这样我们得到一个更小的文件(大约50%的大小)。我们可以阅读 并使用pandas或r操作此文件中的数据。

为了便于说明,下面的批处理脚本使用列名创建2012.csv文件。

seturl=http://www.gks.ru/opendata/storage/7708234640-bdboo2012/data-20190329t000000-structure-20121231t000000.csv
setindex=1,2,3,4,5,6,7,8,17,18,27,28,37,38,41,42,43,44,57,58,59,60,67,68,69,70,79,80,81,82,83,84,93,94,99,100,105,106,117,118,204,205,209,210,211,212,213,214,215,216,222,223,228,229,235,240,241,266 
setcolnames=name,okpo,okopf,okfs,okved,inn,unit,report_type,of,of_lag,ta_fix,ta_fix_lag,cash,cash_lag,ta_nonfix,ta_nonfix_lag,ta,ta_lag,tp_capital,tp_capital_lag,debt_long,debt_long_lag,tp_long,tp_long_lag,debt_short,debt_short_lag,tp_short,tp_short_lag,tp,tp_lag,sales,sales_lag,profit_oper,profit_oper_lag,exp_interest,exp_interest_lag,profit_before_tax,profit_before_tax_lag,profit_after_tax,profit_after_tax_lag,cf_oper_in,cf_oper_in_sales,cf_oper_out,paid_to_supplier,paid_to_worker,paid_interest,paid_profit_tax,paid_other_costs,cf_oper,cf_inv_in,cf_inv_out,paid_fa_investment,cf_inv,cf_fin_in,cf_fin_out,cf_fin,cf,date_published

curl %url%> raw2012.csv

echo%colnames%> 2012.csv
cat raw2012.csv | csvcut -d; -e ansi -c%index%| iconv -f cp1251 -t utf-8 >> 2012.csv

csvclean 2012.csv

注意:这是一个windows批处理文件,但它依赖于gnu实用程序(例如通过cygwin、mingw或GOW)和csvkit。类似的脚本可以适用于纯linux/bash。{A7}允许Python和脚本代码的混合,类似于F字符串。

批处理文件结果类似于运行:

frombooimportdownload,builddownload(2012)build(2012)

限制

  • 无时间序列:我们可以按年访问所有数据的横截面,但不能按每个公司访问数年的数据。
  • 无数据库:我们将文件存储为纯csv,而不是在数据库中。

贡献者

包由Evgeniy Pogrebnyak维护。

特别感谢Daniil Chizhevskij与pypi的合作。没有他的支持是不可能的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android Java在活动之间传递值   java当实体中存在关系时,我可以只使用实体的id而不是从DB中获取实体吗?   bouncycastle Java运行SSHD服务器错误未找到类定义   java SWT/Swing>Threads n'Hell   java多线程数据库读取   java如何在Eclipse中轻松提交Git   java在哪里可以找到字符串相等比较的一组特定排序规则?   无连接表的java单向单域关系   java扩展三角文件   java spring。杰克逊。序列化。failonemptybeans   java无法加载请求的类:oracle。jdbc。驾驶员OracleDriver   java通过数组进行索引循环并打印出元素?   找不到eclipse错误类中的java提交Hadoop作业   Java:随机设定种子   java片段、异步任务和侦听器   java在分号后使用{}