First, some notation clarification: as every point $x$ in $c_0$ or $\ell^1$ is a sequence, I will denote the the $k$th entry in $x$ by $x(k)$. I also make no guarantee that this is the most efficient way of doing this.
Suppose $x_n$ is weakly convergent. Then $x_n$ must be bounded; let $M > 0$ be an upper bound on $\|x_n\|_\infty$. Assume without loss of generality that $x_n \rightharpoonup 0$.
The idea here is very much a sliding hump argument. The "hump" here is the "large" values of $x_n$. Since $x_n(k) \to 0$ as $k \to \infty$, we know that the values are eventually close to $0$, but also since $x_n \rightharpoonup 0$, we have $x_n(k) \to 0$ as $n \to \infty$. We just need to sample sequence points with essentially separate humps, so that the humps don't build on each other in summation. We obviously can't stop the terms $x_n$ having "large" entries (otherwise $x_n \to 0$ strongly), but we just want to separate these large entries out.
Defining the subsequence
Let's choose $n_1 = 1$. Since $x_{n_1}(k) \to 0$ as $k \to \infty$, there exists some $K_1 \in \Bbb{N}$ such that
$$k > K_1 \implies |x_{n_1}(k)| < \frac{M}{2}.$$
We are going to choose $n_2 > \max\{n_1, K_1\}$ such that $|x_{n_2}(k)| < M/2$ for all $k = 1, \ldots, K_1$, which must exist because of weak convergence.
Next, since $x_{n_1}(k), x_{n_2}(k) \to 0$ as $k \to \infty$, there exists some $K_2 \in \Bbb{N}$, strictly greater than $K_1$, such that
$$k > K_2 \implies \max\{|x_{n_1}(k)|, |x_{n_2}(k)|\} < \frac{M}{2^2}.$$
Choose $n_3 > \max\{n_2, K_2\}$ such that $|x_{n_3}(k)| < M/2^2$ for $k = 1 \ldots, K_2$.
Continue defining this subsequence inductively in this same manner. Assume that, for some $m \ge 1$, we have already defined $x_{n_1}, \ldots, x_{n_m}$, along with $K_1, \ldots, K_m$ such that $(n_i)_{i=1}^m$ and $(K_i)_{i=1}^m$ are both strictly increasing sequences of natural numbers, that
$$k > K_m \implies \max_{1 \le i \le m} |x_{n_i}(k)| < \frac{M}{2^m},$$
and that
$$(\forall i = 1, \ldots, m)(\forall k = 1, \ldots K_i) \; |x_{n_i}(k)| < \frac{M}{2^m}.$$
Then choose $n_{m+1} > \max\{n_m, K_m\}$ such that
$$|x_{n_{m+1}}(k)| < \frac{M}{2^{m+1}}$$
for all $k = 1, \ldots, m+1$. Also, since $x_{n_1}(k), \ldots, x_{n_{m+1}}(k) \to 0$ as $k \to \infty$, choose a natural number $K_{m+1} > K_m$ such that
$$k > K_{m+1} \implies \max_{1 \le i \le m+1} |x_{n_i}(k)| < \frac{M}{2^{m+1}}.$$
And so we have inductively defined our subsequence!
Proving the subsequence works
Our definition of $(K_m)_{m \in \Bbb{N}}$ makes it a strictly increasing sequence, which must therefore diverge to $\infty$. It also means that we can use these sequence points to partition $\Bbb{N}$ into intervals: begin with $[1, K_1]$, then $(K_1, K_2]$, $(K_2, K_3]$, etc (note: these are intervals in $\Bbb{N}$, not $\Bbb{R}$). Define, for the sake of convenience, $K_0 = 0$, and all of our intervals take the form $(K_{i-1}, K_i]$.
For $m \in \Bbb{N}$, define $s_m = (x_{n_1} + \ldots + x_{n_m})/m$. For $i \in \Bbb{N}$, let us consider
$$\max_{k \in (K_{i-1}, K_i]} |s_m(k)|$$
as a function of $m$ and $i$. In particular, we wish to bound it above.
By our construction, only $x_{n_i}$ in our subsequence takes values above $2^{-1}M$ at $k \in (K_{i-1}, K_i]$. We also know that only $x_{n_i}$ and $x_{n_1}$ take values above $2^{-2}M$, and only $x_{n_i}, x_{n_1}, x_{n_2}$ take values above $2^{-3}M$, etc. So, if $1 \le i \le m$ and $k \in (K_{i-1}, K_i]$, then
$$|s_m(k)| \le \frac{\sum_{\substack{1 \le j \le m \\ i \neq j}} 2^{-j}M + M}{m} \le \frac{\sum^\infty_{j=1} 2^{-j}M + M}{m} = \frac{2M}{m},$$
since $M$ is an upper bound on $\|x_n\|_\infty$ for all $n$. Otherwise, if $i > M$, then we have
$$|s_m(k)| \le \frac{\sum_{j=1}^m 2^{-j}M}{m} \le \frac{\sum^\infty_{j=1} 2^{-j}M}{m} = \frac{M}{m} \le \frac{2M}{m}.$$
Thus,
$$\|s_m\|_\infty = \max_{i \in \Bbb{N}} \max_{k \in (K_{i-1}, K_i]} |s_m(k)| \le \frac{2M}{m}.$$