python - 如何使用 pandas 读取多个文件并导出一张表中的行数?
问题描述
有谁知道如何启动循环以读取下面的所有文件并计算每个表中的行并将数字导出到一个表中?我使用 jupyter notebook 运行 python (3.8) 并使用 pandas 来操作数据。我想计算在特定时期每天有多少条推文。我使用 twint 来检索信息并想分析数据。
df01 = pd.read_csv("00_bitcoin_raw_2020-03.csv")
df02 = pd.read_csv("00_bitcoin_raw_2020-04.csv")
df03 = pd.read_csv("00_bitcoin_raw_2020-05.csv")
df04 = pd.read_csv("00_bitcoin_raw_2020-06.csv")
df05 = pd.read_csv("00_bitcoin_raw_2020-07.csv")
df06 = pd.read_csv("00_bitcoin_raw_2020-08.csv")
df07 = pd.read_csv("00_bitcoin_raw_2020-09.csv")
df08 = pd.read_csv("00_bitcoin_raw_2020-10.csv")
df09 = pd.read_csv("00_bitcoin_raw_2020-11.csv")
df10 = pd.read_csv("00_bitcoin_raw_2020-12.csv")
total_data_2020 = [len(df01),len(df02),len(df03),len(df04),len(df05),len(df06),len(df07),len(df08),len(df09),len(df10)]
df_2020 = pd.DataFrame(total_data_2020)
df_2020
解决方案
使用 Python 3.6+,您可以使用 f-stringformatting
语法来填充 ( {i:02}
) 生成的数字range
。或者,用于header=None
指示您的数据没有标题,或者,如果有,则header
相应地设置值以获得有效数据行的确切数量。
import pandas as pd
import numpy as np
total_data_2020 = []
for i in range(3, 13):
csv_name = f'00_bitcoin_raw_2020-{i:02}.csv'
df = pd.read_csv(csv_name) # header=None
total_data_2020.append((csv_name, len(df)))
df_2020 = pd.DataFrame(total_data_2020, columns=['csv_name', 'df_len'])
print(df_2020)
csv_name df_len
0 00_bitcoin_raw_2020-03.csv 13
1 00_bitcoin_raw_2020-04.csv 11
2 00_bitcoin_raw_2020-05.csv 11
3 00_bitcoin_raw_2020-06.csv 42
4 00_bitcoin_raw_2020-07.csv 23
5 00_bitcoin_raw_2020-08.csv 20
6 00_bitcoin_raw_2020-09.csv 11
7 00_bitcoin_raw_2020-10.csv 29
8 00_bitcoin_raw_2020-11.csv 28
9 00_bitcoin_raw_2020-12.csv 35
推荐阅读
- java - 如何解决连接有空值?
- ios - 我们是否需要通过应用内购买来接受付款?
- laravel - Laravel 删除方法在 yajra 数据表上给出“方法不允许”错误
- wordpress - 仅向 WordPress 多站点管理员授予编辑者角色
- c - C Ctrl+D 重定向做 smtg else
- machine-learning - Q学习,拉米游戏的状态,动作和奖励是什么?
- java - 无法将 FireBase 中的数据加载到 Recycler 视图中
- python - Python Web Scraping:Ahref 链接和文章未显示在源代码中
- if-statement - 展平嵌套数组
- php - 如何使 if else 条件在 .htaccess 中重定向